KR20110014164A - 온라인 광고 서비스 - Google Patents

온라인 광고 서비스 Download PDF

Info

Publication number
KR20110014164A
KR20110014164A KR1020107026622A KR20107026622A KR20110014164A KR 20110014164 A KR20110014164 A KR 20110014164A KR 1020107026622 A KR1020107026622 A KR 1020107026622A KR 20107026622 A KR20107026622 A KR 20107026622A KR 20110014164 A KR20110014164 A KR 20110014164A
Authority
KR
South Korea
Prior art keywords
web page
frame
host
host web
advertisement
Prior art date
Application number
KR1020107026622A
Other languages
English (en)
Other versions
KR101652129B1 (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 KR20110014164A publication Critical patent/KR20110014164A/ko
Application granted granted Critical
Publication of KR101652129B1 publication Critical patent/KR101652129B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0277Online advertisement

Abstract

온라인 광고 호스팅(예를 들어, 한 도메인으로부터의 광고를 다른 도메인으로부터의 웹 페이지 상에 호스팅하는 것)이 교차-도메인 프레임[예를 들어, 인라인 프레임(IFrame)], 안전한 프레임간 통신 채널 및 소스 코드 인터페이스[예를 들어, 일련의 응용 프로그램 인터페이스(API)]를 이용하여 이루어진다. 즉, 광고를 호스트 웹 페이지로부터 격리시킬 수 있는 교차-도메인 IFrame이 호스트 웹 페이지 내에 생성될 수 있다. 교차-도메인 프레임의 콘텐츠와 호스트 웹 페이지의 콘텐츠 간의 통신을 위해 프레임간 통신 채널이 이용될 수 있다. 또한, 광고의 파라미터들 및 제약들에 대한 호스트의 기본 설정을 전달하기 위해 소스 코드 인터페이스가 이용될 수 있다.

Description

온라인 광고 서비스{ONLINE AD SERVING}
관련 출원의 참조
이 출원은 2008년 6월 3일로 출원된, 발명의 명칭이 “온라인 광고 서비스”인 미국 가특허 출원 제61/058,213호를 기초로 우선권을 주장하며, 이 미국 출원은 여기에 인용함으로써 그 전체 내용이 본 명세서에 완전히 기재되어 있는 것처럼 포함되는 것으로 본다.
컴퓨팅 환경에서, 웹 사이트 및 관련 웹 페이지는 종종 각자의 웹 사이트의 온라인 사용자들이 보도록 의도되어 있는 온라인 광고를 호스팅한다. 온라인 광고는 통상적으로 웹 사이트를 호스팅하는 도메인과 다른 도메인에서 온 것이다. 온라인 광고주 및 호스팅 웹 사이트는 통상적으로 광고 신디케이터(ad syndicator)와 함께 일하는데, 광고 신디케이터는 호스트로부터 광고 요청을 받고, 광고주로부터 광고를 가져오며, 광고를 호스트의 웹 사이트로 보낸다. 종종, 온라인 광고는 확장 및/또는 웹 페이지 여기저기로 이동할 수 있는 것을 비롯한 풍부한 기능을 갖는다.
이 요약은 이하에서 상세한 설명에 더 기술되는 일련의 개념들을 간략화된 형태로 소개하기 위해 제공된 것이다. 이 요약은 청구된 발명 대상의 주요 요소들 또는 필수적인 특징들을 확인하기 위한 것이 아니며, 청구된 발명 대상의 범위를 제한하는 데 사용되기 위한 것도 아니다.
통상적으로, 웹 페이지가 온라인 광고를 디스플레이하고자 할 때, 웹 페이지(호스팅 웹 페이지)는 광고 신디케이터에 연락하여 호스트 웹 페이지 내의 비어 있는 광고-공간에 대한 사양을 알려줄 수 있다. 광고 신디케이터는 호스트 웹 페이지가 제공한 사양을 충족시키는 광고를, 광고주가 제공하는 광고 카탈로그로부터 가져올 수 있다. 통상적으로, 광고 신디케이터는, 브라우저가 광고를 호스트 웹 페이지의 일부로서 간주하도록, 가져온 광고를 호스트 웹 페이지에 직접 배치할 것이다. 이렇게 할 때, 호스트 웹 페이지 상에서의 광고의 크기 및/또는 위치를 변경하는 것을 비롯한 풍부한 기능을 제공하기 위하여, 광고가 종종 호스트 웹 페이지와 자유롭게 상호작용할 수 있게 되어 있다. 하지만, 광고를 이러한 방식으로 삽입하는 것은 또한 호스트 웹 페이지가 브라우저에서 가질 수 있는 모든 권한은 아닐지라도 많은 권한을 광고에게도 부여한다. 불행하게도, 악의적인 광고도 또한 이러한 방식으로 호스트 웹 페이지에 삽입되어, 호스트 웹 사이트에 피해를 주거나 사용자의 개인 식별가능 정보를 훔치려는 기회를 엿보고 있을 수 있다. 그에 부가하여, 웹 페이지 호스트는, 예를 들어, 광고가 사용자에 의해 클릭된 것처럼 보이는 횟수를 부풀리는 것과 같이, 브라우저 내의 광고 콘텐츠를 조작함으로써 광고 소유자를 역이용할 수 있다.
일례로서, 웹 메일 시스템이 제3자의 광고를 호스팅하는 것은 흔한 일이다. 광고가 자유롭게 확장하거나 호스트 웹 페이지 여기저기를 돌아다닐 수 있도록, 광고가 광고 신디케이터에 의해 통합될 수 있다. 하지만, 이 광고가, 예를 들어, 호스팅 페이지 상에서 사용자의 이메일을 보고, 호스트 웹 사이트의 쿠키로부터 사용자 자격증명을 훔쳐낼 가능성이 있다. 광고주를 보호하는 측면에서 볼 때, 광고가 사용자에 의해 클릭된 것처럼 보이는 횟수를 호스트가 프로그램적으로 증가시키는 경우, 호스트가 광고 소유자에게 보다 많은 요금을 청구할 수 있다.
이러한 광고 서비스 보안 문제에 대한 이전 및 현재의 해결책은 한계가 있으며, 이 한계로 인해 그 해결책이 제대로 기능하지 못하거나, 사용자, 광고 신디케이터 및 광고주의 시스템에 대한 광범위한 독점적 업데이트를 제공하지 못할 수 있다. 이러한 한가지 해결책에서는, 광고주에 의해 제작된 광고가 제3자 광고 벤더에 의해 전송되어 호스트 웹 페이지의 교차-도메인 프레임 또는 창(cross-domain frame or window)에 배치되며, 광고가 호스트 웹 페이지로부터 격리된다. 하지만, 호스트 웹 페이지와의 클라이언트측 상호작용이 없을 수 있으며, 이는 광고의 풍부한 기능을 제한할 수 있다. 다른 이러한 해결책에서는, 광고주가 제작한 광고를 광고 신디케이터가 가져와서, 이를 순수한 텍스트(pure text)로 변환하여 호스트 웹 페이지에 배치한다. 하지만, 이 해결책에서는, 광고가 실행가능 코드를 포함할 수 없으며, 이는 광고의 풍부한 기능을 없앤다. 다른 해결책들은 호스트 웹 페이지 내에서 특정 기능을 금지하도록 설계되어 있는 광고 코드 스캐닝(ad code scanning) 기술이나 “블랙리스팅(blacklisting)” 기술을 이용한다. 하지만, 이러한 해결책들은 새로운 악의적 기술들에 대처하지 못할 수 있고, 정당한 광고를 차단할 수 있으며, 종종 브라우저 또는 다른 광고 신디케이션 시스템에 추가적인 설치를 요구할 수 있다.
본 명세서에서는 온라인 광고의 풍부한 기능은 가능하게 해주지만 비도덕적인 웹 페이지 호스트의 바람직하지 않은 광고 조작은 가능하지 않게 해주면서, 호스트 웹 페이지에 온라인 광고를 안전하게 서비스하는 기술 및 시스템이 제공된다. 이 기술 및 시스템은 호스트 웹 페이지 내에 교차-도메인 프레임(cross-domain frame)[예를 들어, 교차-도메인 인라인 프레임(inline frame)(IFrame)]을 생성하는데, 이 프레임은 기본적으로 안전한 환경(예를 들어, 프레임 내부의 콘텐츠가 호스트 웹 페이지와 상호작용할 수 없음)을 포함한다. 호스트 웹 페이지는 호스트 광고-공간을 포함하는데, 이 광고-공간은 교차-도메인 프레임 내부에 광고 콘텐츠의 초기 크기를 수용하는 크기를 가질 수 있다(예를 들어, 호스트 광고-공간은 교차-도메인 프레임 내에 삽입되는 광고의 초기 크기와 동일한 높이 및 폭이다). 교차-도메인 프레임과 호스트 웹 페이지 사이에 프레임간 통신 채널(inter-frame communications channel)이 생성된다. 이 채널은, 예를 들어, 메시지를 전송 및 수신하고, 프레임 내부에서의 이벤트를 검출하고, 프레임 내부의 콘텐츠로부터의 요청을 전달하는 데 사용될 수 있다. 호스트의 파라미터들 및 교차-도메인 프레임 내에 호스팅될 광고에 대한 제약들을 전달하는 API가 이용될 수 있다.
이상의 목적들 및 관련 목적들을 달성하기 위해, 이하의 설명 및 첨부 도면들은 어떤 예시적인 측면들 및 구현들에 대해 기술하고 있다. 이들은 하나 이상의 측면들이 이용될 수 있는 다양한 방식들 중 단지 몇개만을 나타낸 것이다. 본 발명의 다른 측면들, 이점들 및 새로운 특징들이, 첨부 도면들과 관련하여 살펴볼 때, 이하의 상세한 설명으로부터 명백하게 될 것이다.
도 1은 호스트 웹 페이지 상에서의 현재의 온라인 광고 서비스의 예시적인 실시예를 나타낸 블록도.
도 2는 호스트 웹 페이지 상에서의 안전한 온라인 광고 서비스의 예시적인 실시예를 나타낸 블록도.
도 3은 호스트 웹 페이지 상에 온라인 광고를 안전하게 서비스하는 예시적인 방법을 나타낸 플로우차트.
도 4는 호스트 웹 페이지 상에 안전한 프레임을 렌더링하는 예시적인 실시예를 나타낸 블록도.
도 5는 안전한 프레임과 호스트 웹 페이지 간의 통신의 예시적인 실시예를 나타낸 블록도.
도 6은 온라인 광고와의 상호작용에 대응하기 위하여 안전한 프레임이 확장하고 움직이는 것의 예시적인 실시예를 나타낸 블록도.
도 7은 예시적인 소스 코드 인터페이스를 나타낸 구성요소 블록도.
도 8은 예시적인 소스 코드 인터페이스를 나타낸 구성요소 블록도.
도 9는 본 명세서에 기술된 발명 내용들 중 하나 이상을 구현하도록 구성된 프로세서-실행가능 명령어들을 포함하는 예시적인 컴퓨터-판독가능 매체를 나타낸 도면.
도 10은 본 명세서에 기술된 발명 내용들 중 하나 이상이 구현될 수 있는 예시적인 컴퓨팅 환경을 나타낸 도면.
이제부터 첨부 도면들을 참조하여 청구된 발명 대상에 대해 기술하며, 도면 전체에 걸쳐 동일한 참조 번호들이 동일한 구성요소들을 가리키는 데 사용되고 있다. 이하의 설명에서, 설명의 목적상, 청구된 발명 대상에 대한 완전한 이해를 제공하기 위해 수많은 구체적인 상세가 기술되어 있다. 그렇지만, 청구된 발명 대상이 이러한 구체적인 상세 없이 실시될 수 있다는 것이 명백할 수 있다. 다른 경우들에, 청구된 발명 대상의 설명을 용이하게 해주기 위해 구조들 및 장치들이 블록도 형태로 도시되어 있다.
도 1은 호스트 웹 페이지 상에서의 현재의 온라인 광고 서비스의 예시적인 실시예(100)를 나타낸 블록도이다. 예시적인 실시예(100)에서, 호스트 웹 페이지(102)는 호스트 콘텐츠(108) 및 호스트 웹 페이지(102)의 도메인과 다른 도메인으로부터의 광고 콘텐츠(106)를 포함하고 있다. 일례로서, 호스트 웹 페이지(102)는 광고 신디케이터(예를 들어, 온라인 광고 서비스를 제공하는 엔터티)에 연락할 수 있으며, 광고 신디케이터는 통상적으로 광고주로부터 광고를 가져오고 광고 콘텐츠(106)를 호스트 웹 페이지(102)에 배치한다. 브라우저가 광고 콘텐츠(106)를 호스트 웹 페이지(102)의 일부로 간주하도록 광고 콘텐츠(106)가 통상적으로 호스트 웹 페이지(102)에 삽입된다. 이러한 방식으로, 광고 콘텐츠(106)가 기능을 위해 호스트 웹 페이지와 자유롭게 상호작용하도록 허용되어 있을 수 있다, 예를 들어, 광고가 호스트 웹 페이지 내에서 그 자신의 크기 및 위치를 변경할 수 있게 해준다.
도 1에서, 예를 들어, 사용자가 커서를 광고 콘텐츠(106) 상으로 움직일 때, 광고가 호스트 웹 페이지(104)에서 확장(110)된다. 이 일례에서, 브라우저가 확장된 광고 콘텐츠(110)를 호스트 웹 페이지(104)의 일부로 여기기 때문에, 확장된 광고 콘텐츠(110)가 호스트 웹 페이지 콘텐츠(108) 위를 덮는다. 현재의 온라인 광고 서비스(100)의 이러한 예시적인 실시예에서, 광고는 브라우저 내에서 호스트 웹 페이지(104)의 각자의 특권을 부여받는다. 따라서, 예를 들어, “결함 투성(buggy)”(예를 들어, 제대로 작동하지 않으며, 닫히거나 축소되지 않는 등)이거나 악의적인(예를 들어, 사용자의 개인 정보를 훔치거나, 호스트 웹 페이지에 피해를 주려고 설계된) 광고들로 인해 호스트 웹 페이지에서의 사용자 경험이 형편없게 되거나 어쩌면 악영항을 받을 수 있다.
하지만, 본 명세서에 설명된 기술과 시스템을 사용하여, 도 2는 호스트 웹 페이지 상에서의 안전한 온라인 광고 서비스의 예시적인 실시예(200)를 나타낸 것이다. 예시적인 실시예(200)에서, 호스트 웹 페이지(102)는 잠재적인 광고들의 자리 표시자(place holder)로서 기능하는 광고 공간(214)을 포함한다. 이 실시예에서, 예를 들어, 인라인 프레임(212)(예를 들어, 호스트 웹 페이지의 도메인과는 다른 도메인으로부터의 콘텐츠를 포함하는 인라인, 교차-도메인 프레임)은, 광고 공간(214)에 맞춰 정렬되어, 호스트 웹 페이지(102) 상에 플로팅 레이어(floating layer)로서 삽입될 수 있다. 이 일례에서, 호스트 웹 페이지(102)가 광고주로부터 광고를 가져오라고 광고 신디케이터에게 연락할 때, 광고 콘텐츠(106)가, 호스트 웹 페이지(102)에 직접 삽입되는 대신에, 인라인 프레임(212)에 삽입될 수 있다.
광고 콘텐츠(106)가 인라인 프레임(212) 내부에 포함되어 있기 때문에, 예를 들어, 광고가 브라우저 내에서 호스트 웹 페이지(102)의 특권을 부여받을 수 없고, 그에 따라 호스트 웹 페이지(102)에 보다 안전환 환경을 제공할 수 있다. 하지만, 도 2를 참조하면, 광고 콘텐츠(106)가 (예를 들어, 사용자에 의한 마우스오버 시에) 확장(110)되도록 구성되어 있는 경우, 인라인 프레임(212)이 호스트 웹 페이지(104)에서 확장된 광고 콘텐츠(110)를 수용하기 위하여 확장될 필요가 있을 수 있다. 이 일례에서, 인라인 프레임(212)이 요청(예를 들어, 인라인 프레임을 확장하거나 이동시키라는 요청)을 호스트 웹 페이지(104)로 전달할 수 있게 해주는 안전한 통신 채널이 생성될 수 있다. 이러한 요청을 수신하게 되면, 예를 들어, 호스트 웹 페이지(104)는 확장된 광고 콘텐츠(110) - 호스트 콘텐츠(108) 위에 떠 있을 수 있음 - 를 수용하기 위해서 인라인 프레임(212)을 프로그램적으로 확장시킬 수 있다. 이러한 방식으로, 호스트 웹 페이지(104)의 보안이 유지될 수 있으면서, 광고 콘텐츠의 기능이 수용될 수 있다.
도 3은 호스트 웹 페이지 상에 온라인 광고를 안전하게 서비스하는 예시적인 방법(300)을 나타낸 플로우차트이다. 예시적인 방법(300)은 302에서 시작하고, 304에서 호스트 웹 페이지 내에 교차-도메인 프레임을 생성하는 것 - 이 프레임이 호스트 웹 페이지의 도메인과 다른 도메인으로부터의 콘텐츠를 포함함 - 을 포함한다. 일례로서, 교차-도메인 프레임은 호스트 웹 페이지의 도메인과 다른 도메인에 의해 제작되고 호스팅되는 온라인 광고를 포함하도록 구성되어 있는 인라인 프레임(IFrame)일 수 있다. 또한, 이 일례에서, IFrame 내부의 콘텐츠가 IFrame 외부의 콘텐츠와 상호작용할 수 없도록(예를 들어, 광고 콘텐츠가 호스트 웹 페이지 및/또는 호스트 웹 페이지 상의 콘텐츠를 조작할 수 없도록) IFrame이 호스트 웹 페이지로부터 실질적으로 격리되도록 구성될 수 있다.
306에서, 프레임 광고-공간의 초기 크기를 수용하도록 호스트 광고-공간이 호스트 웹 페이지 내에 생성된다. 호스트 광고-공간은 프레임 광고-공간의 초기 높이 및 폭을 포함한다. 일례로서, 호스트 웹 페이지는 지정된 폭과 높이를 포함하는 호스트 광고-공간을 생성할 수 있다. 이 일례에서, 호스트 웹 페이지는 광고주의 광고 콘텐츠의 초기 폭과 높이에 대응할 수 있는 지정된 폭과 높이를 광고 신디케이터에게 연락할 수 있다. 이러한 방식으로, 광고 신디케이터는 호스트 웹 페이지의 사양을 충족시키는 초기 폭과 높이를 가질 수 있는 광고만을 가져올 수 있다. 이 일례에서, 호스트 광고-공간은 광고 콘텐츠와의 충돌을 회피하기 위하여 호스트 콘텐츠를 포함하지 않을 것이다. 또한, 304에서 광고 콘텐츠를 포함하도록 생성된 프레임은 처음에 호스트 광고-공간의 지정된 크기로 구성되어 있을 수 있다.
308에서, 교차-도메인 프레임과 호스트 웹 페이지 사이에 통신 채널이 생성된다. 일례로서, 프레임 내의 광고 콘텐츠가 요청들을 호스트로 전달할 수 있게 해주는 안전한 채널이 교차-도메인 프레임과 호스트 웹 페이지 사이에 생성될 수 있다. 이 일례에서, 사용자가 커서를 광고 콘텐츠 위로 움직일 때 프레임 내의 광고 콘텐츠가 확장되도록 구성되어 있는 경우, 확장된 광고 콘텐츠를 수용하기 위해 프레임을 확장하라는 요청이 안전한 채널을 통하여 호스트로 보내질 수 있다. 또한, 호스트 웹 페이지는 디스플레이 특성이나 다른 기능들을 구성하기 위하여 안전한 채널을 통하여 프레임의 콘텐츠와 통신할 수 있다.
프레임과 호스트 웹 페이지 사이에 통신 채널을 생성하였으면, 예시적인 방법(300)은 310에서 종료된다.
한 측면에서, 제3자의 온라인 광고를 호스팅 웹 페이지 및/또는 웹 사이트로부터 격리시키는 것이 호스트 웹 페이지에는 악의적인 공격으로부터의 보호를 제공하고, 사용자에게는 긍정적이고 안전한 온라인 경험을 제공할 수 있다. 이 측면에서, 예를 들어, 떠있는 투명한 교차-도메인 프레임이 광고 콘텐츠를 호스트 웹 페이지로부터 격리시키기 위하여 호스트 웹-페이지 내에서 이용될 수 있다. 교차-도메인 프레임이 호스트 웹 페이지 내에서 인라인으로 삽입될 수 있고(예를 들어, IFrame일 수 있고), 이는 프레임 내부의 콘텐츠와 광고 호스팅 웹 페이지 사이의 상호작용을 허용하지 않는 기본 속성을 갖는다. 광고 콘텐츠와 호스트 웹 페이지 사이에서 필요한 모든 상호작용이 프레임과 호스트 웹 페이지 사이의 안전한 통신 채널에 의하여 이루어질 수 있으며, 이에 대해서는 이후에 기술한다.
이 측면에서, 온라인 광고의 보안에 대한 다른 관련 해결책들(예를 들어, "BrowserShield," "SafeScript," "Google Caja")은 “블랙리스팅” 또는 “화이트리스팅(whitelisting)” 방법을 이용하며, 이 경우 광고는 브라우저에서 호스팅 웹 페이지와 동일한 격리 경계(isolation boundary) 내에 배치된다. 이러한 관련 해결책들에서, 지정된 “안전하지 않은” 기능들이 이어서 브라우저에서 격리 경계 내의 광고 콘텐츠로부터 제거되거나(블랙리스팅되거나), 광고의 기능들이 그렇지 않았으면 브라우저에 의해 기본적으로 광고에 제공되는 것의 부분집합으로 제한된다(화이트리스팅된다). 하지만, 기능이 줄어들 수 있고 브라우저에 대해 광고 신디케이터 및 광고 소유자에 의한 특정의 독점적 업데이트가 필요할 수 있기 때문에. 이 해결책들은 광고 신디케이터, 호스트 및 광고 소유자의 흥미를 끌지 못할 수 있다.
그에 부가하여, 이러한 측면에서, 제3자의 온라인 광고 콘텐츠를 호스팅 웹 페이지 및/또는 웹 사이트로부터 격리시키는 것이 광고 소유자에 대한 보안을 제공할 수 있다. 본 명세서에 설명된 격리 기법 및 시스템은 호스팅 웹 사이트/웹 페이지가 브라우저 내부의 광고 콘텐츠를 프로그램적으로 조작하지 못하게 할 수 있다. 예를 들어, 광고 소유자가 웹 페이지 호스트에게 지불하는 금액을 증가시키기 위하여(예를 들어, 사용자가 광고를 더 많이 클릭하면 광고 소유자가 웹 페이지 호스트에게 더 많은 금액을 지급하는 일종의 부정-클릭), 웹 페이지 호스트가 사용자 클릭을 위조[예를 들어, 사용자가 광고를 클릭한(것으로 보여지는) 횟수를 증가]하고자 할 수 있다. 이러한 방식으로, 안전한 광고 서비스 경험이 호스트 웹 페이지와 광고 소유자 또는 신디케이터 둘다에게 제공될 수 있다.
광고 콘텐츠를 격리시키기 위하여 안전한 교차-도메인 프레임(예를 들어, IFrame)을 사용하는 일 실시예가 도 4에 나타내어져 있다. 웹 사이트 호스트(402)는, 예를 들어, 온라인 사용자(412)가 액세스하여 보게 되는 호스트 웹 페이지(406)를 인터넷에 게시한다. 웹 사이트 호스트(402)는 호스트 웹 페이지(406)에 대한 적절한 모든 액세스 권한 및 특권을 가진다. 이 일례에서, 호스트 웹 페이지(406)는 호스트 웹 페이지(406) 내부에(인라인으로) IFrame(408)을 렌더링할 수 있다. 기본적으로, IFrame(408) 내부의 콘텐츠는 호스트 웹 페이지(406)와 상호작용할 수 없다. 이 일례에서, IFrame은 프레임의 콘텐츠와 호스트 웹 페이지(406) 사이에 상당한 장벽을 생성함으로써, 프레임 콘텐츠로부터 유래하는 악의적인 공격을 완화시키며 온라인 사용자(412)의 정보가 프레임 콘텐츠에 의해 액세스될 가능성을 감소시킨다.
광고 소유자(404)는 호스트 웹 페이지(406)에 디스플레이되도록 되어 있는 광고 콘텐츠를 생성할 수 있다. 이 일례에서, 광고 소유자(404)에 의해 생성된 광고 콘텐츠가 호스트 웹 페이지(406)에서 IFrame(408) 내에 삽입된다. 이러한 방식으로, 광고 소유자(404)는 단지 IFrame(408) 내부의 콘텐츠에 대한 액세스 권한만을 가질 수 있으며, 호스트 웹 페이지(406)와 상호작용하지 못하게 될 수 있다. 하지만, 이 일례에서, 광고 기능을 돕기 위해 IFrame(408)과 호스트 웹 페이지(406) 사이에 통신 채널(410)이 생성될 수 있으며, 이에 대해서는 이하에서 기술한다.
다른 측면에서, 교차-도메인 프레임[예를 들어, 교차-도메인 인라인 프레임(IFrame)] 내부의 광고 콘텐츠는 호스트 웹 페이지와 통신할 필요가 있을 수 있다. 일례로서, 특정한 이벤트(예를 들어, 광고 콘텐츠를 마우스오버함) 시에 확장하도록 구성되어 있는 광고 콘텐츠가 교차-도메인 프레임의 고정된 크기 때문에 확장하지 못할 수 있다. 하지만, 이 일례에서, 광고 콘텐츠가 확장하려는 의사를 호스트 웹 페이지에 전달할 수 있는 경우, 호스트 웹 페이지는 확장된 광고 콘텐츠를 수용하기 위하여 교차-도메인 프레임을 프로그램적으로 확장할 수 있다. 그에 부가하여, 호스트 웹 페이지가 프레임 내부의 디스플레이 속성 또는 다른 기능들을 제어하기 위하여 프레임을 가로질러 통신하기를 원할 수도 있다. 일례로서, 호스트 웹 페이지가 광고 콘텐츠의 출처를 디스플레이하는 제목 표시줄을 프레임 안에 디스플레이하기를 원할 수도 있다.
이 측면에서, 프레임의 콘텐츠와 호스트 웹 페이지 사이의 직접 통신을 가능하게 해주는 프레임간 통신 채널[예를 들어, 플래시 채널(flash channel)]이 생성될 수 있다. 하지만, 광고 콘텐츠가 호스트 웹 페이지와 통신할 수 있는 경우에 호스트 웹 페이지의 보안이 여전히 걱정거리일 수 있기 때문에, 안전한 프레임간 통신 채널을 제공하는 기술이 이용될 수 있다. 일례로서, 지정된 보안 대책을 제공하는 추가 코드가, 통신 채널의 어느 한쪽에, 교차-도메인 프레임의 내부 및 이 프레임의 외부 둘다에, 호스트 웹 페이지에 삽입될 수 있다.
일 실시예에서, 보안 대책은 교차-도메인 프레임 내부의 콘텐츠에 대한 통신 기능들을 “화이트리스팅”할 것을 요청할 수 있다. 이 실시예에서, 이 코드가 “안전”하다고 간주한 기능들만이 프레임에서 “화이트리스팅”될 수 있다(실행될 수 있다). 일례로서, 추가 코드는 익명의 이벤트 핸들러가 프레임 내부에서 분리될 수 없게 만들어, 추가 코드가 광고의 코드에 의해 변경되거나 제거될 수 없도록 할 수 있지만, 추가 코드가 프레임 내부에서 광고의 코드와 함께 실행될 수는 있다. 또한, 이 일례에서, 자바스크립트 닫기(JavaScript closure) 개체 및 함수가 프레임 내부에서 사용될 수 있다. 이 일례에서, “화이트리스팅”은 이전의 해결책인 “블랙리스팅”에 비해 장점이 있는데, 왜냐하면 “화이트리스팅”에서는 비어 있는 표면이 더 적기(예를 들어, 악의적인 공격 또는 권한이 없는 정보 이용의 덜 가능한 방법임) 때문이다. “화이트-리스팅”을 이용할 때, 호스트 웹 페이지가 허용된 기능들의 제한된 목록을 제공하는 반면, “블랙리스팅”은 허용되지 않은 기능들의 목록을 제공한다.
그에 부가하여, 이 실시예에서, 추가 코드는 어떤 통신이 프레임간 통신 채널(intra-frame communications channel)을 통해 허용될 수 있는지를 결정하기 위한 보안을 제공할 수 있다. 일례로서, 프레임 내부의 코드와 프레임 외부의 코드 간에 공유되는 비밀 토큰(secret token)이 생성될 수 있다. 이 일례에서, 프레임 내부의 코드는 “화이트리스팅된” 동작들에 비밀 토큰을 제공할 것이며, 그로써 광고의 코드가 위조된 메시지를 호스트 웹-페이지로 전송하는 것을 방지한다. 또한, 일례로서, iframe 내부의 보안 코드 또는 대책이 비활성화되는지(예를 들어, 광고의 코드가 악의적으로 iframe을 멀리 떨어진 다른 웹 페이지로 안내할 때)를 판정하기 위하여, 추가 코드는 채널을 통해 하트-비트 메시지(heart-beat message)를 전송하여 프레임의 상태를 모니터링할 수 있다. 보안 대책들 중 몇몇 일례가 본 명세서에서 논의되었지만, 이 실시예에 설명된 기술들이 어떤 특정한 보안 대책들로 제한되지는 않는다는 것을 잘 알 것이다. 당업자들은 프레임간 통신 채널에 보안을 제공하기 위한 부가적인 방법 및 수단을 안출할 수 있다.
예를 들어, IFrame과 호스트 웹 페이지 간의 통신을 위해 프레임간 통신 채널을 사용하는 일 실시예가 도 5에 나타내어져 있다. 앞서 도 4에 나타낸 바와 같이, 이제부터 호스트 웹 페이지(406)가 호스트 웹 사이트와 통신하는 예시적인 실시예(500)에 대해 보다 상세히 설명한다. 이 일례에서, 호스트 웹 사이트(406)는 광고 소유자로부터 광고 콘텐츠를 수신하는 IFrame(408)을 포함한다. 앞서 기술한 바와 같이, IFrame(408) 내의 광고 콘텐츠가 호스트 웹 페이지(406)와 통신하기 위해, IFrame(408)과 호스트 웹 페이지(406) 사이에 프레임간 통신 채널(410)이 생성된다. 추가 코드(502 및 504)가 IFrame 및 호스트 웹 페이지에 삽입되고, 삽입되는 추가 코드는 IFrame(408) 내부의 기능들의 “화이트-리스트”를 결정하고 채널(410)을 통해 안전한 통신을 제공할 수 있다.
이 예시적인 실시예(500)에서, 사용자(412)는 IFrame(408) 내의 광고 콘텐츠와 상호작용[예를 들어, 마우스오버(mouseover)]할 수 있으며, 이 상호작용으로 인해 광고 콘텐츠가 확장된다. 하지만, IFrame(408)이 광고 콘텐츠의 확장을 제한하는 크기를 가질 수 있기 때문에, 광고 콘텐츠는 확장된 광고 콘텐츠를 수용하기 위해 호스트 웹 페이지에게 IFrame을 확장하라고 요청하는 메시지를 통신 채널(410)을 통해 보낼 수 있다. 일례로서, “화이트리스팅된” 기능들 중의 하나는 프레임 확장을 호스트 웹 페이지(406)에 전달하는 것일 수 있다. 이 일례에서, 광고 콘텐츠에 의해 호출되는 기능이 “화이트리스팅되어” 있기 때문에, IFrame(408) 내부의 코드(502)는 광고 콘텐츠가 채널(410)을 통해 전송하는 메시지에 비밀 토큰을 첨부하고, IFrame 외부의 코드(504)는 비밀 토큰과 함께 메시지를 수신하며, 그로써 메시지가 호스트 웹 페이지(406)로 전달될 수 있게 된다. 호스트 웹 페이지(406)가 메시지를 수신할 때, 호스트 웹 페이지는, 예를 들어, 확장된 광고 콘텐츠를 수용하기 위해 IFrame(408)을 프로그램적으로 확장할 수 있다.
다른 측면에서, IFrame의 기능과 그의 콘텐츠를 판정하기 위하여, 호스트 웹 페이지(IFrame)에 삽입된 교차-도메인 프레임 내부의 이벤트가 검출될 수 있다. 일례로서, IFrame 내부에 삽입된 추가 코드는 사용자의 커서 이동, 커서 위치, IFrame 내의 요소 위로 커서를 이동시키는 것(마우스오버, 또는 마우스 호버), 또는 IFrame 내의 요소와 상호작용하는 것과 같은 IFrame 내부의 이벤트를 검출하는 데 사용될 수 있다. 그에 부가하여, IFrame 내의 코드는, 예를 들어, 광고 콘텐츠의 사용자 인터페이스 속성, 즉 어떤 유형의 기능, 디스플레이 및 상호작용적 속성들을 광고 콘텐츠가 가질 수 있는지를 검출하는 데 사용될 수 있다.
이 측면에서, 프레임 내부의 추가 코드는, 예를 들어, IFrame 내부에서 검출되는 이벤트에 관한 메시지를 프레임간 통신 채널을 이용하여 프레임 외부로 전송할 수 있다. 이러한 방식으로, 일례로서, IFrame 내부의 이벤트에 응답하여 광고 콘텐츠로부터의 변경 요청이 호스트 웹 페이지로 전달될 수 있다. 앞서 설명한 바와 같이, 통신 채널의 호스트 웹 페이지측에 있는 추가 코드는 메시지를 수신하고, 예를 들어, IFrame의 속성에 대한 적절히 요청된 변경을 실행할 수 있다.
일례로서, 사용자가 커서(마우스)를 IFrame 외부의 위치로부터 IFrame 내부의 광고 콘텐츠 상의 위치로 이동시킬 수 있다. 이 일례에서, IFrame 내부의 코드는 광고 콘텐츠 상으로의 커서 이동 및 위치를 검출할 수 있고, 이 이벤트로 인해 광고 콘텐츠가 확장된다는 메시지를 광고 콘텐츠로부터 수신할 수 있다(예를 들어, 또는 광고 콘텐츠가 미리 정해진 광고 콘텐츠의 품질일 수 있고, 메시지를 필요로 하지 않을 수 있다.) IFrame 내부의 코드는 채널을 통해 IFrame 외부 코드로 메시지를 전송할 수 있으며, 이는 차례로 IFrame 내부에 확장된 광고 콘텐츠를 수용하기 위하여 IFrame 속성을 변경할 수 있다.
이 실시예에서 마우스와 커서 이벤트가 설명되었지만, 본 명세서에 설명된 기술 및 시스템은 이러한 이벤트와 동작들로 제한되지 않는다는 것을 잘 알 것이다. 컴퓨팅 환경에서, 웹 페이지에 대해 행해질 여러 가지 이벤트 및 동작이 있으며, 당업자라면 이 이벤트 및 동작을 검출하는 방법을 안출할 수 있다.
다른 측면에서, 통상적인 광고 콘텐츠는, 사용자가 볼 때, 아래로 확장 및/또는 오른쪽으로의 확장을 이용한다. 하지만, 교차-도메인 인라인 프레임(IFrame)을 사용하면, 웹 페이지 상에서 볼 때, 이러한 방향들로의 확장으로 제한되지 않을 수 있다. 일례로서, IFrame의 속성은 호스트 웹 페이지에 의해 관리될 수 있고, IFrame이 확장하고 이동하도록 조작될 수 있다. 이 일례에서, 사용자가 커서를 광고의 콘텐츠 위로 이동할 때, 광고가 위쪽으로 확장하도록 구성될 수 있다. IFrame이 단지 아래로만 확장할 수 있는 경우, IFrame이 광고와 호스트 웹 페이지 간의 상호작용을 제한하기 때문에, 광고의 확장된 부분이 사용자에게 보이지 않을 것이다. 하지만, 확장된 광고 콘텐츠를 수용하는 크기로 확장되고, 확장된 광고 콘텐츠를 확장된 IFrame에 들어가도록 이동시키며, 그 다음에, 사용자가 볼 때, IFrame을 광고 콘텐츠가 위로 확장하는 것을 보여주는 모습을 갖는 위치로 이동시키도록(예를 들어, IFrame을 위로 이동시키도록) IFrame이 만들어질 수 있다. IFrame의 속성이 단지 광고의 확장을 수용하기 위해 확장하는 것으로 제한되지 않으며, 호스트 웹 페이지 여기저기로 이동시키는 것을 포함할 수 있다는 것을 잘 알 것이다. IFrame의 속성은 호스트 웹 페이지에 의해 제어될 수 있고, 단지 호스트의 정해진 한계에 의해서만 제한된다.
프레임간 이벤트 검출과 프레임 확장 및 이동의 일 실시예가 도 6에 나타내어져 있다. 예시적인 실시예(600)에서, 호스트 웹 페이지(602)가 IFrame(614) 내부에 광고 콘텐츠(612)를 포함한다. 이 일례에서, 사용자는 IFrame(614) 내의 광고 콘텐츠(612) 상으로 커서(610)를 이동시킨다. 이 일례에서, 광고 콘텐츠(612)는, 커서가 광고 콘텐츠(612) 상으로 이동하는 것(610)을 검출할 때, 위로 확장되도록 구성되어 있다. 호스트 웹 페이지(604)에서 알 수 있는 바와 같이, 마우스오버 이벤트(610)를 검출할 때, 광고 콘텐츠는 위로 확장(616)하며, IFrame 내부의 코드는 IFrame(614)을 확장된 광고 콘텐츠(616)를 수용하는 크기로 확장하라는 메시지를 프레임간 통신 채널을 통하여 호스트 웹 페이지 내의 코드로 전송한다. 하지만, 광고 콘텐츠(612 및 616)가 IFrame(614) 내부에만 디스플레이되도록 제한되어 있기 때문에, 확장된 광고 콘텐츠(616)를 사용자가 볼 수 없다.
이 예시적인 실시예(600)에서, 호스트 웹 페이지(606)에서 알 수 있는 바와 같이, IFrame 내부의 코드는 확장 이벤트를 검출하고, 이제 확장된 IFrame(614) 내에 확장된 광고 콘텐츠(616)를 수용하기 위하여 광고 콘텐츠(612 및 616)를 아래로 이동시킬 수 있다. 하지만, 606에서, 사용자는 광고의 구성에 의해 의도된 바와 같이 광고 콘텐츠가 위로 확장되는 것을 경험하지 않고 광고 콘텐츠(612 및 616)가 아래로 내려와 확장하는 것을 경험하게 될 것이다. 호스트 웹 페이지(608)에서 알 수 있는 바와 같이, IFrame(614) 내부의 코드는 확장된 광고 콘텐츠(616)의 의도된 구성 이벤트를 검출하고, 의도된 확장을 수용하기 위하여 IFrame(614)을 위로 이동시키라고 요청하는 메시지를 IFrame(614) 외부의 코드로 전송할 수 있다. 이러한 방식으로, 사용자가 볼 때, 광고 콘텐츠(612) 상으로 커서가 이동(610)되는 경우, 광고 콘텐츠가 원래 광고 콘텐츠(612)로부터 위로 확장(616)된다. 이 일례에서, 사용자가 볼 때, 광고 콘텐츠가 단지 위로 확장하도록, IFrame의 확장 및 이동이 빠르게 일어날 수 있다는 것을 잘 알 것이다.
호스트 웹 페이지가 광고 신디케이터에게 광고 콘텐츠 파라미터들 및 제약들을 전달하는 인터페이스를 제공하는 소스 코드 인터페이스[예를 들어, 일련의 API(application programming interface)]가 안출될 수 있다. 도 7은 소스 코드 인터페이스의 예시적인 실시예(700)를 나타낸 것이다. 예시적인 실시예(700)에서, 호스트 웹 페이지(702)는 소스 코드 인터페이스(704)(예를 들어, API)가 그 위에 설치되어 있는 인스턴스를 갖는다. 이 예시적인 실시예(700)가 하나의 API의 인스턴스를 나타내지만, 호스트 웹 페이지에 광고를 디스플레이하는 것과 관련된 다양한 파라미터들 및/또는 제약들을 포함하는 일련의 2개 이상의 API가 호스트 웹 페이지 상에 설치될 수 있다.
예시적인 실시예(700)에서, 소스 코드 인터페이스(704)는, 예를 들어, 호스트 웹 사이트가 제공하는 것과 같이, 광고의 파라미터들 및/또는 제약들을 부모 노드로 보내도록 구성되어 있는 부모 노드 속성 구성요소(706)를 포함한다. 일례로서, 광고 콘텐츠의 자식 노드 요소를 구성하기 위해서, 자식 노드 요소에 대한 구성을 실시하는 데 부모 노드 요소(예를 들어, 자식 요소의 부모 요소)를 이용할 수 있다. 소스 코드 인터페이스(704)는 또한, 예를 들어, 호스트 웹 사이트가 제공하는 것과 같이, 광고의 파라미터들 및/또는 제약들을 제공하도록 구성되어 있는 파라미터 집합(parameter set)(708)을 포함한다. 일례로서, 광고의 높이, 폭, 초기 높이 및 최소 높이를 포함하는 파라미터들이, 광고가 IFrame 내부에서 확장할 수 있는지에 관한 제약과 함께, 호스트 웹 사이트에 의해 제공될 수 있다. 이 일례에서, 부모 노드 요소를 통하여 자식 노드 요소(예를 들어, 광고의 파라미터들 및 제약들에 대응하는 요소들)를 구성할 때, 파라미터들 및 제약들이 이용될 수 있다.
예시적인 실시예(700)가 부모 노드 속성 구성요소의 단일 인스턴스와 파라미터 집합 구성요소의 단일 인스턴스를 포함하는 단일 API의 사용을 나타내고 있지만, 소스 코드 인터페이스가 이 구성으로 제한되지 않는다는 것을 잘 알 것이다. 부모 노드 속성 구성요소의 하나 이상의 인스턴스와 파라미터 집합 구성요소의 하나 이상의 인스턴스를 포함하는 다수의 API가 이용될 수 있다. 일례로서, 광고의 파라미터들과 구성들을 제어하는 다수의 요소들이 있을 수 있다. API의 다수의 인스턴스들이, 예를 들어, 확장될 광고의 권한, IFrame 내에서의 광고의 배향, 및 광고가 확장 및/또는 이동될 수 있는 범위를 기술하는 데 사용될 수 있다.
예시적인 실시예(700)에서, 호스트(710)(예를 들어, 광고를 호스팅하는 웹 사이트)가 호스트 웹 페이지(702)와 상호작용할 수 있다. 호스트는 API(704)를 이용하여 웹 페이지(702) 상에 호스팅될 수 있는 광고의 파라미터들 및 제약들을 제공할 수 있다. 파라미터들 및 제약들이, 부모 노드 속성과 함께, 광고 신디케이터(712)로 전송될 수 있으며, 광고 신디케이터에서 광고가, 예를 들어, 호스트(710)에 의해 명시된 요구사항들을 충족하도록 구성될 수 있다.
도 8은 앞서 설명된 인터페이스의 일 실시예(800)의 일례를 나타낸 것이다. 예시적인 실시예(800)에, 주요 API(704)에 대한 코드가 나타내어져 있다. API(704)는 부모 노드 속성 구성요소(706)와 파라미터 집합 구성요소(708)를 포함한다. 이 일례에서, 파라미터 집합 구성요소는 광고(810)를 로드하는 코드 문자열에 대한 쿼리를 포함한다. 광고(810)를 로드하는 이 코드 문자열은, 예를 들어, 광고 신디케이터로부터의 광고가 호스트 웹 페이지(예를 들어, 도 7의 702) 상의 IFrame 내로 로드될 수 있게 해주는 코드를 포함할 수 있다. API(704)는 또한, 예를 들어, 광고의 크기(예를 들어, 높이, 폭) 및 최대/최소 크기를 기술하는 데 이용되는 파라미터들의 목록(812)을 포함한다. 일례로서, “initHeight”와 같은 파라미터(812)는 IFrame 내로 로드될 때의 광고의 초기 높이를 기술하는 데 이용될 수 있다. API(704)는 또한, 예를 들어, 광고가 IFrame 내부에서 확장할 수 있다는 것을 기술하는 데 이용되는 제약 집합(restriction set)(814)을 포함한다.
또 다른 실시예는 본 명세서에 제시된 기술들 중 하나 이상의 기술들을 구현하도록 구성된 프로세서-실행가능 명령어들을 포함하는 컴퓨터-판독가능 매체를 포함한다. 이러한 방식으로 안출될 수 있는 예시적인 컴퓨터-판독가능 매체가 도 9에 나타내어져 있으며, 여기서 구현(900)은 컴퓨터-판독가능 데이터(906)가 인코딩되어 있는 컴퓨터-판독가능 매체(908)(예를 들어, CD-R, DVD-R 또는 하드 디스크 드라이브의 플래터)를 포함한다. 이 컴퓨터-판독가능 데이터(906)는 또한 본 명세서에 기술된 원리들 중 하나 이상의 원리에 따라 동작하도록 구성된 컴퓨터 명령어들의 집합(904)을 포함한다. 이러한 일 실시예(900)에서, 프로세서-실행가능 명령(904)은, 예를 들어, 도 3의 예시적인 방법(300)과 같은 방법을 수행하도록 구성될 수 있다. 다른 이러한 실시예에서, 프로세서-실행가능한 명령어들(904)은, 예를 들어, 도 7의 예시적인 시스템(700)과 같은 시스템을 구현하도록 구성될 수 있다. 본 명세서에 제시된 기술들에 따라 동작하도록 구성되어 있는 이러한 많은 컴퓨터-판독가능 매체들이 당업자에 의해 안출될 수 있다.
발명 대상이 구조적 특징들 및/또는 방법적 동작들과 관련하여 기술되어 있지만, 첨부된 특허청구범위에 정의된 발명 대상이 이상에서 기술한 특정의 특징들 또는 동작들로 반드시 제한되는 것은 아니라는 것을 잘 알 것이다. 오히려, 이상에서 기술한 특정의 특징들 및 동작들은 청구항들을 구현하는 예시적인 형태로서 개시되어 있다.
본 출원에서 사용되는 바와 같이, 용어 "구성요소", "모듈", "시스템", "인터페이스", 기타는 일반적으로 컴퓨터-관련 엔터티(computer-related entity), 예를 들어, 하드웨어, 하드웨어와 소프트웨어의 조합, 소프트웨어, 또는 실행 중인 소프트웨어를 말하기 위한 것이다. 예를 들어, 구성요소는 프로세서 상에서 실행 중인 프로세스, 프로세서, 개체, 실행 파일, 실행 스레드, 프로그램 및/또는 컴퓨터일 수 있지만, 이들로 제한되지 않는다. 예시로서, 제어기 상에서 실행 중인 응용 프로그램 및 그 제어기 둘다가 구성요소일 수 있다. 하나 이상의 구성요소들이 프로세스 및/또는 실행 스레드 내에 존재할 수 있고, 구성요소가 하나의 컴퓨터 상에 로컬화되어 있을 수 있고 및/또는 2개 이상의 컴퓨터들 간에 분산되어 있을 수 있다.
게다가, 청구된 발명 대상이 소프트웨어, 펌웨어, 하드웨어, 또는 이들의 임의의 조합을 생성하는 표준의 프로그래밍 및/또는 엔지니어링 기법들을 사용하여 컴퓨터를 제어해 개시된 발명 대상을 구현하는 방법, 장치, 또는 제조 물품으로서 구현될 수 있다. "제조 물품(article of manufacture)"이라는 용어는, 본 명세서에서 사용되는 바와 같이, 임의의 컴퓨터-판독가능 장치, 캐리어(carrier), 또는 매체로부터 액세스될 수 있는 컴퓨터 프로그램을 포괄하기 위한 것이다. 물론, 당업자라면 청구된 발명 대상의 범위 또는 사상을 벗어나지 않고 이 구성에 많은 수정들이 이루어질 수 있다는 것을 잘 알 것이다.
도 10 및 이하의 설명은 본 명세서에 기술된 발명 대상들 중 하나 이상의 실시예들을 구현하는 데 적합한 컴퓨팅 환경의 간략하고 개괄적인 설명을 제공한다. 도 10의 운영 환경은 적당한 운영 환경의 일례에 불과하며 이 운영 환경의 용도 또는 기능의 범위에 관한 어떤 제한을 암시하기 위한 것이 아니다. 예시적인 컴퓨팅 장치들로는, 개인용 컴퓨터, 서버 컴퓨터, 핸드헬드 또는 랩톱 장치, 모바일 장치[이동 전화, PDA(Personal Digital Assistant), 미디어 플레이어, 기타 등등], 멀티프로세서 시스템, 가전 제품, 미니 컴퓨터, 메인프레임 컴퓨터, 이상의 시스템들 또는 장치들 중 임의의 것을 포함하는 분산 컴퓨팅 환경, 기타 등등이 있지만, 이들로 제한되지 않는다.
꼭 그럴 필요는 없지만, 실시예들이 일반적으로 하나 이상의 컴퓨팅 장치들에 의해 실행되는 "컴퓨터 판독가능 명령어들"과 관련하여 기술되어 있다. 컴퓨터 판독가능 명령어들이 컴퓨터 판독가능 매체(이하에서 기술함)를 통해 배포될 수 있다. 컴퓨터-판독가능 명령어들은 특정의 작업들을 수행하거나 특정의 추상 데이터 유형들을 구현하는 함수, 개체, API(Application Programming Interface), 데이터 구조, 기타 등등의 프로그램 모듈로서 구현될 수 있다. 통상적으로, 컴퓨터 판독가능 명령어들의 기능이 다양한 실시예들에서 원하는 바에 따라 결합되거나 분산되어 있을 수 있다.
도 10은 본 명세서에 제공된 하나 이상의 실시예들을 구현하도록 구성되어 있는 컴퓨팅 장치(1012)를 포함하는 시스템(1010)의 일례를 나타낸 것이다. 한 구성에서, 컴퓨팅 장치(1012)는 적어도 하나의 처리 장치(1016) 및 메모리(1018)를 포함한다. 컴퓨팅 장치의 정확한 구성 및 유형에 따라, 메모리(1018)는 휘발성(예를 들어, RAM 등), 비휘발성(예를 들어, ROM, 플래시 메모리, 기타 등등), 또는 이 둘의 어떤 조합일 수 있다. 이러한 구성이 도 10에서 점선(1014)으로 나타내어져 있다.
다른 실시 형태들에서, 장치(1012)는 또한 부가의 특징들 및/또는 기능들을 포함할 수 있다. 예를 들어, 장치(1012)는 또한 자기 저장 장치, 광 저장 장치, 기타(이들로 제한되지 않음)를 비롯한 부가의 저장 장치(예를 들어, 이동식 및/또는 비이동식)도 포함할 수 있다. 이러한 부가의 저장 장치가 도 10에서 저장 장치(1020)로 도시되어 있다. 일 실시예에서, 본 명세서에 제공된 하나 이상의 실시예들을 구현하는 컴퓨터 판독가능 명령어들이 저장 장치(1020)에 있을 수 있다. 저장 장치(1020)는 또한 운영 체제, 응용 프로그램, 기타를 구현하는 다른 컴퓨터 판독가능 명령어들도 저장할 수 있다. 컴퓨터 판독가능 명령어들은, 예를 들어, 처리 장치(1016)에서 실행하기 위해 메모리(1018)에 로드될 수 있다.
"컴퓨터 판독가능 매체"라는 용어는 본 명세서에서 사용되는 바와 같이 컴퓨터 저장 매체를 포함한다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어 또는 기타 데이터 등의 정보를 저장하는 임의의 방법 또는 기술로 구현되는 휘발성 및 비휘발성, 이동식 및 비이동식 매체를 포함한다. 메모리(1018) 및 저장 장치(1020)가 컴퓨터 저장 매체의 일례이다. 컴퓨터 저장 매체로는 RAM, ROM, EEPROM, 플래시 메모리 또는 기타 메모리 기술, CD-ROM, DVD(Digital Versatile Disk) 또는 기타 광 저장 장치, 자기 카세트, 자기 테이프, 자기 디스크 저장 장치 또는 기타 자기 저장 장치, 또는 원하는 정보를 저장하는 데 사용될 수 있고 또 장치(1012)에 의해 액세스될 수 있는 임의의 다른 매체가 있지만, 이들로 제한되지 않는다. 임의의 이러한 컴퓨터 저장 매체가 장치(1012)의 일부일 수 있다.
장치(1012)는 또한 장치(1012)가 다른 장치들과 통신을 할 수 있게 해주는 통신 연결(들)(1026)도 포함할 수 있다. 통신 연결(들)(1026)은 모뎀, NIC(Network Interface Card), 통합형 네트워크 인터페이스, 무선 주파수 송신기/수신기, 적외선 포트, USB 연결, 또는 컴퓨팅 장치(1012)를 다른 컴퓨팅 장치들에 연결시키는 기타 인터페이스들을 포함할 수 있지만, 이들로 제한되지 않는다. 통신 연결(들)(1026)은 유선 연결 또는 무선 연결을 포함할 수 있다. 통신 연결(들)(1026)은 통신 미디어를 전송 및/또는 수신할 수 있다.
"컴퓨터 판독가능 매체"라는 용어는 통신 매체를 포함할 수 있다. 통신 매체는 일반적으로 컴퓨터 판독가능 명령어 또는 기타 데이터를 반송파 또는 기타 전송 메카니즘 등의 피변조 데이터 신호(modulated data signal)에 구현하고 모든 정보 전달 매체를 포함한다. "피변조 데이터 신호"라는 용어는 신호의 특성들 중 하나 이상이 정보를 그 신호에 인코딩하는 방식으로 설정 또는 변경된 신호를 포함할 수 있다.
장치(1012)는 키보드, 마우스, 펜, 음성 입력 장치, 터치 입력 장치, 적외선 카메라, 비디오 입력 장치, 및/또는 임의의 다른 입력 장치 등의 입력 장치(들)(1024)를 포함할 수 있다. 하나 이상의 디스플레이, 스피커, 프린터, 및/또는 임의의 다른 출력 장치 등의 출력 장치(들)(122)도 역시 장치(1012)에 포함되어 있을 수 있다. 입력 장치(들)(1024) 및 출력 장치(들)(1022)는 유선 연결, 무선 연결, 또는 이들의 임의의 조합을 통해 장치(1012)에 연결될 수 있다. 일 실시 형태에서, 다른 컴퓨팅 장치로부터의 입력 장치 또는 출력 장치가 컴퓨팅 장치(1012)의 입력 장치(들)(1024) 또는 출력 장치(들)(1022)로서 사용될 수 있다.
컴퓨팅 장치(1012)의 구성요소들은 버스 등의 다양한 상호연결부들에 의해 연결될 수 있다. 이러한 상호연결부들은 PCI Express 등의 PCI(Peripheral Component Interconnect), USB(Universal Serial Bus), 파이어와이어(IEEE 1394), 광 버스 구조, 기타를 포함할 수 있다. 다른 실시 형태에서, 컴퓨팅 장치(1012)의 구성요소들은 네트워크에 의해 상호연결될 수 있다. 예를 들어, 메모리(1018)는 네트워크에 의해 상호연결된 서로 다른 물리적 장소들에 위치하는 다수의 물리적 메모리 장치들로 이루어져 있을 수 있다.
당업자라면 컴퓨터 판독가능 명령어들을 저장하는 데 이용되는 저장 장치들이 네트워크에 걸쳐 분산되어 있을 수 있다는 것을 잘 알 것이다. 예를 들어, 네트워크(1028)를 통해 액세스할 수 있는 컴퓨팅 장치(1030)는 본 명세서에 제공된 하나 이상의 실시예들을 구현하는 컴퓨터 판독가능 명령어들을 저장할 수 있다. 컴퓨팅 장치(1012)는 컴퓨팅 장치(1030)에 액세스하여 실행을 위한 컴퓨터 판독가능 명령어들의 일부 또는 전부를 다운로드할 수 있다. 다른 대안으로서, 컴퓨팅 장치(1012)는 필요에 따라 컴퓨터 판독가능 명령어들의 일부를 다운로드할 수 있거나, 일부 명령어들이 컴퓨팅 장치(1012)에서 실행될 수 있고 일부 명령어들이 컴퓨팅 장치(1030)에서 실행될 수 있다.
실시 형태들의 다양한 동작들이 본 명세서에 제공되어 있다. 일 실시 형태에서, 기술된 동작들 중 하나 이상이 하나 이상의 컴퓨터 판독가능 매체 상에 저장된 컴퓨터 판독가능 명령어들을 구성할 수 있으며, 이 명령어들은, 컴퓨팅 장치에 의해 실행되는 경우, 컴퓨팅 장치로 하여금 개시된 동작들을 수행하게 한다. 동작들 중 일부 또는 전부가 기술되어 있는 순서가 이러한 동작들이 반드시 순서 의존적이어야 한다는 것을 의미하는 것으로 해석되어서는 안된다. 당업자라면 이 설명을 기초로 대안의 순서를 잘 알 것이다. 게다가, 동작들 모두가 반드시 본 명세서에 제공된 각각의 실시예에 존재해야 하는 것은 아니라는 것을 잘 알 것이다.
게다가, "예시적인"이라는 단어는 본 명세서에서 일례, 실례 또는 예시로서 역할한다는 것을 의미하기 위해 사용된다. 본 명세서에서 "예시적인" 것으로 기술된 임의의 측면 또는 설계가 꼭 다른 측면들 또는 설계들보다 이점이 있는 것으로 해석되어야 하는 것은 아니다. 오히려, "예시적인"이라는 단어의 사용은 개념들을 구체적인 방식으로 제시하기 위한 것이다. 본 출원에서 사용되는 바와 같이, "또는"이라는 용어는 배타적인 "논리합"(exclusive "or")이라기 보다는 포함적인 "논리합"(inclusive "or")를 의미하기 위한 것이다. 즉, 달리 언급하지 않는 한 또는 문맥으로부터 명확하지 않는 한, "X가 A 또는 B를 이용한다"는 포함적인 자연 순열들(natural inclusive permutations) 중 어느 하나를 의미하기 위한 것이다. 즉, X가 A를 이용하는 경우, X가 B를 이용하는 경우, 또는 X가 A 및 B 둘다를 이용하는 경우, 이상의 경우들 중 어느 하나의 경우에서 "X가 A 또는 B를 이용한다"는 만족된다. 그에 부가하여, 본 출원 및 첨부된 특허청구범위에서 사용되는 단수 표현 "한" 및 "하나"는, 달리 언급하지 않는 한 또는 단수 형태에 관한 것이라고 문맥으로부터 명확하지 않는 한, 일반적으로 "하나 이상"을 의미하는 것으로 해석될 수 있다.
또한, 본 발명이 하나 이상의 구현들과 관련하여 도시되고 기술되어 있지만, 본 명세서 및 첨부 도면들을 읽고 이해하면 등가의 변경들 및 수정들이 당업자들에게 안출될 것이다. 본 발명은 모든 이러한 수정들 및 변경들을 포함하며, 이하의 특허청구범위의 범위에 의해서만 제한된다. 상세하게는, 이상에서 기술한 구성요소들(예를 들어, 요소들, 리소스들, 기타)에 의해 수행되는 다양한 기능들과 관련하여, 이러한 구성요소들을 기술하는 데 사용되는 용어들이, 달리 언급하지 않는 한, 본 명세서에 설명된 본 발명의 예시적인 구현들에서 기능을 수행하는 개시된 구조와 구조상으로 등가이지는 않지만, (예를 들어, 기능적으로 등가인) 기술된 구성요소의 지정된 기능을 수행하는 임의의 구성요소에 대응하는 것으로 보아야 한다. 그에 부가하여, 본 발명의 특정의 특징이 몇가지 구현들 중 단지 하나와 관련하여 개시되어 있을 수 있지만, 임의의 주어진 또는 특정의 응용에서 요망되고 유익할 수 있는 바와 같이, 이러한 특징이 다른 구현들의 하나 이상의 다른 특징과 결합될 수 있다. 게다가, 용어 "포함한다", "갖는", "갖는다", "구비하는" 또는 이들의 변형이 상세한 설명이나 특허청구범위에서 사용되는 한, 이러한 용어들이 용어 "포함하는"과 유사한 방식으로 포함적인 것으로 보아야 한다.

Claims (20)

  1. 웹 페이지 상에 온라인 광고를 렌더링하는 방법(300)으로서,
    호스트 웹 페이지 내에, 호스트 웹 페이지의 도메인과 다른 도메인으로부터의 콘텐츠를 포함하는 교차-도메인 프레임을 생성하는 단계(304),
    프레임 광고-공간의 초기 크기를 수용하기 위해 호스트 웹 페이지 내에 호스트 광고 공간을 생성하는 단계(306) - 호스트 광고 공간이 프레임 광고-공간의 초기 높이 및 폭을 포함함 -, 및
    프레임과 호스트 웹 페이지 사이에 프레임간 통신 채널(inter-frame communication channel)을 생성하는 단계(308)를 포함하는 방법.
  2. 제1항에 있어서, 통신 채널을 통한 통신을 용이하게 해주기 위해 추가 프로그래밍 코드를 삽입하는 단계를 포함하는 방법.
  3. 제2항에 있어서, 추가 프로그래밍 코드를 교차-도메인 프레임에 삽입하는 단계를 포함하는 방법.
  4. 제2항에 있어서, 추가 프로그래밍 코드를 호스트 웹 페이지에 삽입하는 단계를 포함하는 방법.
  5. 제2항에 있어서, 프로그래밍 코드가 통신 채널에 대한 보안을 제공하기 위한 보안 프로그래밍 코드를 포함하는 것인 방법.
  6. 제2항에 있어서, 프로그래밍 코드가 스크립팅 언어 코드를 포함하는 것인 방법.
  7. 제1항에 있어서, 교차-도메인 프레임 내부의 콘텐츠에 대해 허용된 기능들의 목록을 제공하는 것을 포함하는 프레임간 통신 채널을 안전하게 하는 단계를 포함하는 방법.
  8. 제1항에 있어서, 프레임 프로그래밍 코드를 이용하여 프레임 내부의 하나 이상의 이벤트를 검출하는 단계를 포함하는 방법.
  9. 제8항에 있어서, 하나 이상의 이벤트를 검출할 시에 프레임 프로그래밍 코드가 통신 채널을 통하여 호스트 프로그래밍 코드와 통신하는 단계를 포함하는 방법.
  10. 제8항에 있어서, 이벤트가 하나 이상의 사용자 상호작용들 및 하나 이상의 마우스 이벤트들 중 하나 이상을 포함하는 것인 방법.
  11. 제8항에 있어서, 호스트 웹 페이지가 프레임 내부에서 나온 요청에 응답하여 호스트 웹 페이지 내의 프레임을 크기 조정하는 단계를 포함하는 방법.
  12. 제8항에 있어서, 호스트 웹 페이지가 프레임 내부에서 나온 요청에 응답하여 호스트 웹 페이지 내의 프레임을 이동시키는 단계를 포함하는 방법.
  13. 제1항에 있어서, 프레임 기능을 제공하기 위해 프레임 프로그래밍 코드를 호스트 프로그래밍 코드에 맞춰 조정하는 단계를 포함하는 방법.
  14. 제13항에 있어서, 프레임 기능이,
    하나 이상의 프레임 디스플레이 속성,
    하나 이상의 프레임 유틸리티, 및
    하나 이상의 프레임 사용자 인터페이스 기능 중 하나 이상을 포함하는 것인 방법.
  15. 광고 콘텐츠 파라미터들 및 제약들을 광고 신디케이터로 전달하는 인터페이스를 호스트 웹 페이지(702)에 제공하도록 구성된 소스 코드 인터페이스(704)로서,
    광고의 파라미터들 및/또는 제약들을 부모 노드로 보내도록 구성된 하나 이상의 부모 노드 속성 구성요소(706), 및
    광고의 파라미터들 및/또는 제약들을 제공하도록 구성된 하나 이상의 파라미터 집합 구성요소(708)를 포함하는 소스 코드 인터페이스.
  16. 제15항에 있어서, 소스 코드 인터페이스가 하나 이상의 응용 프로그램 인터페이스(API)를 포함하는 것인 소스 코드 인터페이스.
  17. 제15항에 있어서, 부모 노드가 하나 이상의 자식 노드를 갖고, 자식 노드가 광고의 파라미터들 및/또는 제약들에 대한 요소들을 포함하는 것인 소스 코드 인터페이스.
  18. 제15항에 있어서, 하나 이상의 파라미터 집합 구성요소가,
    광고를 로드하는 코드 문자열에 대한 쿼리,
    호스트에 의해 구성되는 광고의 파라미터들, 및
    호스트에 의해 구성되는 광고의 제약들 중 하나 이상을 포함하는 소스 코드 인터페이스.
  19. 제15항에 있어서, 광고의 파라미터들이,
    광고의 최대 폭,
    광고의 최대 높이,
    광고의 초기 높이,
    광고의 초기 폭,
    광고의 최소 높이,
    광고의 최소 폭,
    광고가 차지할 수 있는 호스트 웹 페이지에서의 공간의 높이, 및
    광고가 차지할 수 있는 호스트 웹 페이지에서의 공간의 폭 중 하나 이상을 포함하는 것인 소스 코드 인터페이스.
  20. 웹 페이지 상에 온라인 광고를 렌더링하는 방법(100)으로서,
    호스트 웹 페이지 내에, 호스트 웹 페이지의 도메인과 다른 도메인으로부터의 콘텐츠를 포함하는 교차-도메인 프레임을 생성하는 단계(104),
    프레임 광고-공간의 초기 크기를 수용하기 위해 호스트 웹 페이지 내에 호스트 광고 공간을 생성하는 단계(106) - 호스트 광고 공간이 프레임 광고-공간의 초기 높이 및 폭을 포함함 -,
    프레임과 호스트 웹 페이지 사이에 프레임간 통신 채널을 생성하는 단계(108) -
    이 생성하는 단계가 통신 채널을 통한 통신을 용이하게 해주기 위해 통신 채널(410)에 보안(502 및 504)을 제공하는 보안 프로그래밍 코드를 포함하는 추가 프로그래밍 코드를 삽입하는 단계를 포함하고,
    이 삽입하는 단계가,
    추가 프로그래밍 코드를 교차-도메인 프레임에 삽입하는 단계(502), 및
    추가 프로그래밍 코드를 호스트 웹 페이지에 삽입하는 단계(504)를 포함함 -, 및
    교차-도메인 프레임 내부의 콘텐츠에 대해 허용된 기능들의 목록을 제공하는 것을 포함하는 프레임간 통신 채널을 안전하게 하는 단계를 포함하는 방법.
KR1020107026622A 2008-06-03 2009-05-30 온라인 광고 서비스 KR101652129B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US5821308P 2008-06-03 2008-06-03
US61/058,213 2008-06-03
US12/146,460 US20090299862A1 (en) 2008-06-03 2008-06-26 Online ad serving
US12/146,460 2008-06-26

Publications (2)

Publication Number Publication Date
KR20110014164A true KR20110014164A (ko) 2011-02-10
KR101652129B1 KR101652129B1 (ko) 2016-08-29

Family

ID=41380951

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020107026622A KR101652129B1 (ko) 2008-06-03 2009-05-30 온라인 광고 서비스

Country Status (5)

Country Link
US (1) US20090299862A1 (ko)
EP (1) EP2308018A4 (ko)
KR (1) KR101652129B1 (ko)
CN (1) CN102047286B (ko)
WO (1) WO2009148981A2 (ko)

Families Citing this family (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8078740B2 (en) 2005-06-03 2011-12-13 Microsoft Corporation Running internet applications with low rights
US8245270B2 (en) 2005-09-01 2012-08-14 Microsoft Corporation Resource based dynamic security authorization
US8250082B2 (en) 2006-06-23 2012-08-21 Microsoft Corporation Cross domain communication
US8185737B2 (en) 2006-06-23 2012-05-22 Microsoft Corporation Communication across domains
US7716378B2 (en) 2006-10-17 2010-05-11 A10 Networks, Inc. System and method to associate a private user identity with a public user identity
US10019570B2 (en) 2007-06-14 2018-07-10 Microsoft Technology Licensing, Llc Protection and communication abstractions for web browsers
US8621495B2 (en) 2008-01-18 2013-12-31 Microsoft Corporation Methods and apparatus for securing frames from other frames
US8522200B2 (en) * 2008-08-28 2013-08-27 Microsoft Corporation Detouring in scripting systems
US10699235B2 (en) * 2009-05-05 2020-06-30 Oracle America, Inc. System, method and computer readable medium for placing advertisements into web pages
US20110004517A1 (en) * 2009-06-26 2011-01-06 The Jungle U LLC Dialogue advertising
US8601364B2 (en) 2009-08-31 2013-12-03 Ebay Inc. System and method to provide a domain split display
WO2011072048A2 (en) * 2009-12-08 2011-06-16 Adxpose, Inc. Methods for capturing and reporting metrics regarding ad placement
WO2011090550A1 (en) * 2009-12-28 2011-07-28 Google Inc. Distributing content
US8452710B2 (en) * 2009-12-31 2013-05-28 Ebay Inc. Secure expandable advertisements using an API and cross-domain communications
US8423901B2 (en) * 2010-03-15 2013-04-16 International Business Machines Corporation Displaying content outside IFRAME container
US9558289B2 (en) * 2010-09-30 2017-01-31 Microsoft Technology Licensing, Llc Securely rendering online ads in a host page
US9443257B2 (en) * 2010-10-21 2016-09-13 Yahoo! Inc. Securing expandable display advertisements in a display advertising environment
US9324093B2 (en) * 2010-10-28 2016-04-26 Yahoo! Inc. Measuring the effects of social sharing on online content and advertising
FR2967856A1 (fr) * 2010-11-23 2012-05-25 France Telecom Communication entre deux applications web
US8689099B1 (en) * 2010-12-23 2014-04-01 Amazon Technologies, Inc. Cross-domain communication
US8832056B2 (en) 2011-04-21 2014-09-09 Microsoft Corporation Content insertion elements to combine search results
US9037963B1 (en) 2011-04-22 2015-05-19 Amazon Technologies, Inc. Secure cross-domain web browser communications
US10061860B2 (en) * 2011-07-29 2018-08-28 Oath Inc. Method and system for personalizing web page layout
US8365061B1 (en) * 2011-11-02 2013-01-29 Google Inc. Cross-origin communication in browser frames
CN102446224B (zh) * 2012-01-05 2013-06-05 苏州阔地网络科技有限公司 一种网页多层次区块剪取方法
CN103294672B (zh) * 2012-02-23 2017-05-10 腾讯科技(深圳)有限公司 一种用于实现跨域拖动的方法、系统和装置
US20130262977A1 (en) * 2012-03-30 2013-10-03 International Business Machines Corporation Controlling Browser Preferences with a Rich Internet Application
US9098598B1 (en) 2012-05-04 2015-08-04 Google Inc. Non-default location support for expandable content item publisher side files
US8694378B1 (en) 2012-05-08 2014-04-08 Google Inc. Publisher side file support for expandable content items
US9043699B1 (en) * 2012-07-05 2015-05-26 Google Inc. Determining expansion directions for expandable content item environments
US8751304B1 (en) 2012-07-05 2014-06-10 Google Inc. Monitoring content item expansion events across multiple content item providers
US9047254B1 (en) * 2012-07-05 2015-06-02 Google Inc. Detection and validation of expansion types of expandable content items
US9146911B1 (en) 2012-07-17 2015-09-29 Google Inc. Predicting expansion directions for expandable content item environments
US8694632B1 (en) 2012-07-17 2014-04-08 Google Inc. Determining content item expansion prediction accuracy
WO2014014430A2 (en) * 2012-07-18 2014-01-23 Google, Inc. Systems and methods of serving parameter-dependent content to a resource
US9552436B2 (en) * 2012-07-20 2017-01-24 Google Inc. Serving expandable content items
US9865008B2 (en) 2012-09-20 2018-01-09 Google Llc Determining a configuration of a content item display environment
US9159081B2 (en) 2012-10-23 2015-10-13 Google Inc. Content item type determination and selection
US10346877B1 (en) 2012-12-03 2019-07-09 Maher Pedersoli Advertising and marketing platform
CN103023790A (zh) * 2012-12-31 2013-04-03 北京京东世纪贸易有限公司 一种用于实现跨域交互访问的方法和系统
US9264507B2 (en) 2013-01-03 2016-02-16 Sap Portals Israel Ltd Cross domain communication channel
US10810634B2 (en) 2013-02-08 2020-10-20 The Nielsen Company (Us), Llc Methods and apparatus for efficient execution of modules
CN104050192B (zh) 2013-03-15 2017-08-04 腾讯科技(深圳)有限公司 一种运行应用的方法、装置和系统
CN103164654B (zh) * 2013-03-28 2016-08-03 北京奇虎科技有限公司 一种在弹窗上进行信息提示的方法及用户界面显示装置
US9122853B2 (en) 2013-06-24 2015-09-01 A10 Networks, Inc. Location determination for user authentication
US8930971B1 (en) * 2013-09-13 2015-01-06 Linkedin Corporation Embedded-advertising content presented in document context
US20150156151A1 (en) * 2013-12-04 2015-06-04 Powerinbox Ltd Email dynamic content ribbon
US10417588B1 (en) * 2013-12-06 2019-09-17 Guidewire Software, Inc. Processing insurance related address information
US11165770B1 (en) * 2013-12-06 2021-11-02 A10 Networks, Inc. Biometric verification of a human internet user
US10902522B1 (en) * 2013-12-06 2021-01-26 Guidewire Software, Inc. Inter-frame communication
US20180285940A1 (en) * 2014-07-24 2018-10-04 Google Inc. Web advertisement placement
CN106162367A (zh) 2015-04-21 2016-11-23 广州市动景计算机科技有限公司 一种视频播放方法及装置
CA3037501A1 (en) * 2016-09-19 2018-03-22 Content Directions, Inc. dba Linkstorm Supra boundary web compositor apparatuses, methods and systems
CN107274222B (zh) * 2017-06-12 2020-08-28 迈普通信技术股份有限公司 广告投放方法及装置
US10554692B2 (en) 2017-06-16 2020-02-04 Google Llc Cross-origin communication in restricted computer environments
US11882113B2 (en) * 2021-06-29 2024-01-23 Microsoft Technology Licensing, Llc Token brokering in a descendant frame

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070245310A1 (en) * 2005-12-12 2007-10-18 Justin Rosenstein Message catalogs for remote modules
KR20070102859A (ko) * 2006-04-17 2007-10-22 주식회사 케이블웨이 커뮤니케이션즈 인터넷 공지프레임 삽입 시스템
KR20080000810A (ko) * 2006-06-28 2008-01-03 엔에이치엔(주) 광고 노출 방법 및 그 시스템

Family Cites Families (73)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6263442B1 (en) * 1996-05-30 2001-07-17 Sun Microsystems, Inc. System and method for securing a program's execution in a network environment
US5987523A (en) * 1997-06-04 1999-11-16 International Business Machines Corporation Applet redirection for controlled access to non-orginating hosts
ATE437398T1 (de) * 1998-05-06 2009-08-15 Sun Microsystems Inc Verarbeitungsmaschine und verarbeitungsverfahren
US6211877B1 (en) * 1998-07-20 2001-04-03 Hewlett-Packard Co Method for communicating between programming language controlled frames and CGI/HTML controlled frames within the same browser window
US6691230B1 (en) * 1998-10-15 2004-02-10 International Business Machines Corporation Method and system for extending Java applets sand box with public client storage
US20020054126A1 (en) * 1998-10-16 2002-05-09 Owen John Gamon Browser translation between frames and no frames
WO2000065763A2 (en) * 1999-04-26 2000-11-02 Dodots, Inc. Apparatus and method for delivering internet content
US6526513B1 (en) * 1999-08-03 2003-02-25 International Business Machines Corporation Architecture for dynamic permissions in java
US7003734B1 (en) * 2000-05-05 2006-02-21 Point Roll, Inc. Method and system for creating and displaying images including pop-up images on a visual display
US7478434B1 (en) * 2000-05-31 2009-01-13 International Business Machines Corporation Authentication and authorization protocol for secure web-based access to a protected resource
US7640512B1 (en) * 2000-12-22 2009-12-29 Automated Logic Corporation Updating objects contained within a webpage
EP1233333A1 (en) * 2001-02-19 2002-08-21 Hewlett-Packard Company Process for executing a downloadable service receiving restrictive access rights to al least one profile file
US20020188527A1 (en) * 2001-05-23 2002-12-12 Aktinet, Inc. Management and control of online merchandising
KR20030020443A (ko) 2001-06-06 2003-03-08 소니 가부시끼 가이샤 광고 삽입 장치 및 광고 삽입 방법, 및 기억 매체
US7546629B2 (en) * 2002-03-06 2009-06-09 Check Point Software Technologies, Inc. System and methodology for security policy arbitration
EP1415249A2 (en) * 2001-07-09 2004-05-06 Ad4ever Inc. Method and system for allowing cross-communication between first and second areas of a primary web page
US7069294B2 (en) * 2001-11-14 2006-06-27 Hewlett-Packard Development Company, L.P. Browser based multiple file upload
CA2414378A1 (en) * 2002-12-09 2004-06-09 Corel Corporation System and method for controlling user interface features of a web application
CN1203403C (zh) * 2003-01-17 2005-05-25 天图信息技术(上海)有限公司 网视网络广告投放系统中的后台智能下载方法
US7685631B1 (en) * 2003-02-05 2010-03-23 Microsoft Corporation Authentication of a server by a client to prevent fraudulent user interfaces
US7634570B2 (en) * 2003-03-12 2009-12-15 Microsoft Corporation Managing state information across communication sessions between a client and a server via a stateless protocol
US8396745B2 (en) * 2003-04-28 2013-03-12 The Pen Expanding computer display advertising method and system
US7302370B2 (en) * 2003-11-17 2007-11-27 Oracle International Corporation System and method for managing browser sessions in single and multi-server workflow environments
US8620742B2 (en) * 2004-03-31 2013-12-31 Google Inc. Advertisement approval
AU2005246320B2 (en) * 2004-05-14 2013-01-10 Mobilaps, Llc Method of providing a web page with inserted content
US8280819B2 (en) * 2004-07-09 2012-10-02 Ebay Inc. Method and apparatus for securely displaying and communicating trusted and untrusted internet content
US20060117256A1 (en) * 2004-07-29 2006-06-01 Miller Steven H Method of operating a web
US7669226B2 (en) * 2004-07-30 2010-02-23 International Business Machines Corporation Generic declarative authorization scheme for Java
US7484247B2 (en) * 2004-08-07 2009-01-27 Allen F Rozman System and method for protecting a computer system from malicious software
US20060053048A1 (en) * 2004-09-03 2006-03-09 Whenu.Com Techniques for remotely delivering shaped display presentations such as advertisements to computing platforms over information communications networks
US20060069613A1 (en) * 2004-09-29 2006-03-30 Microsoft Corporation System for partial automation of content review of network advertisements
US7430712B2 (en) * 2005-03-16 2008-09-30 Ameriprise Financial, Inc. System and method for dynamically resizing embeded web page content
US20060224697A1 (en) * 2005-04-04 2006-10-05 Norris Stephen R Method to display and manipulate new content on top of an existing web page
JP2006301978A (ja) * 2005-04-20 2006-11-02 Matsushita Electric Ind Co Ltd ウィンドウ枠構成情報を利用したインターネット端末装置、枠サーバ、情報システム及びブラウザの実行方法
US20060271425A1 (en) * 2005-05-27 2006-11-30 Microsoft Corporation Advertising in application programs
US8225403B2 (en) * 2005-06-02 2012-07-17 Microsoft Corporation Displaying a security element to help detect spoofing
US8239939B2 (en) * 2005-07-15 2012-08-07 Microsoft Corporation Browser protection module
US7506248B2 (en) * 2005-10-14 2009-03-17 Ebay Inc. Asynchronously loading dynamically generated content across multiple internet domains
US20070107057A1 (en) * 2005-11-10 2007-05-10 Docomo Communications Laboratories Usa, Inc. Method and apparatus for detecting and preventing unsafe behavior of javascript programs
US7895604B2 (en) * 2005-11-17 2011-02-22 Opera Software Asa Method and device for event communication between documents
US20070146812A1 (en) * 2005-12-02 2007-06-28 Lawton Scott S Reader editable advertising
US7836303B2 (en) * 2005-12-09 2010-11-16 University Of Washington Web browser operating system
US7730109B2 (en) * 2005-12-12 2010-06-01 Google, Inc. Message catalogs for remote modules
US8769127B2 (en) * 2006-02-10 2014-07-01 Northrop Grumman Systems Corporation Cross-domain solution (CDS) collaborate-access-browse (CAB) and assured file transfer (AFT)
US20070256003A1 (en) * 2006-04-24 2007-11-01 Seth Wagoner Platform for the interactive contextual augmentation of the web
US20070255821A1 (en) * 2006-05-01 2007-11-01 Li Ge Real-time click fraud detecting and blocking system
US8185737B2 (en) * 2006-06-23 2012-05-22 Microsoft Corporation Communication across domains
US8250082B2 (en) * 2006-06-23 2012-08-21 Microsoft Corporation Cross domain communication
US20080005282A1 (en) * 2006-07-03 2008-01-03 Dewey Gaedcke Method for displaying user generated content in a web browser
KR100821340B1 (ko) * 2006-07-20 2008-04-10 엔에이치엔(주) 확장형 광고 노출 방법 및 시스템
US20080046562A1 (en) * 2006-08-21 2008-02-21 Crazy Egg, Inc. Visual web page analytics
KR100789722B1 (ko) * 2006-09-26 2008-01-02 한국정보보호진흥원 웹 기술을 사용하여 전파되는 악성코드 차단시스템 및 방법
US8180920B2 (en) * 2006-10-13 2012-05-15 Rgb Networks, Inc. System and method for processing content
US8370732B2 (en) * 2006-10-20 2013-02-05 Mixpo Portfolio Broadcasting, Inc. Peer-to-portal media broadcasting
US20080162227A1 (en) * 2006-12-08 2008-07-03 Bjorn Markus Jakobsson Method and apparatus for combatting click fraud
WO2008111052A2 (en) * 2007-03-09 2008-09-18 Ghost, Inc. A virtual file system for the web
US20100180029A1 (en) * 2007-04-06 2010-07-15 Clive Fourman Content delivery system and method of delivering content
US7958516B2 (en) * 2007-04-18 2011-06-07 Google Inc Controlling communication within a container document
US8898072B2 (en) * 2007-04-20 2014-11-25 Hubpages, Inc. Optimizing electronic display of advertising content
US8364782B2 (en) * 2007-05-25 2013-01-29 Microsoft Corporation Ad-funded web services
US8739123B2 (en) * 2007-05-28 2014-05-27 Google Inc. Incorporating gadget functionality on webpages
US10019570B2 (en) * 2007-06-14 2018-07-10 Microsoft Technology Licensing, Llc Protection and communication abstractions for web browsers
US8229780B2 (en) * 2007-07-30 2012-07-24 Silvercarrot, Inc. System and method for online lead generation
US7979791B2 (en) * 2007-07-30 2011-07-12 Google Inc. Cross-domain communication
US20090037517A1 (en) * 2007-08-02 2009-02-05 Randall Wayne Frei Method and system to share content between web clients
US8108770B2 (en) * 2007-08-27 2012-01-31 Yahoo! Inc. Secure inter-module communication mechanism
US8019700B2 (en) * 2007-10-05 2011-09-13 Google Inc. Detecting an intrusive landing page
US20090094096A1 (en) * 2007-10-09 2009-04-09 Yahoo! Inc. Interactive advertisement framework
US20090164949A1 (en) * 2007-12-20 2009-06-25 Kontera Technologies, Inc. Hybrid Contextual Advertising Technique
US8621495B2 (en) * 2008-01-18 2013-12-31 Microsoft Corporation Methods and apparatus for securing frames from other frames
US9009657B2 (en) * 2008-04-20 2015-04-14 Microsoft Technology Licensing, Llc Component-oriented architecture for web mashups
US8291475B2 (en) * 2008-04-30 2012-10-16 Microsoft Corporation Secure cross-domain communication for web mashups
US8359651B1 (en) * 2008-05-15 2013-01-22 Trend Micro Incorporated Discovering malicious locations in a public computer network

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070245310A1 (en) * 2005-12-12 2007-10-18 Justin Rosenstein Message catalogs for remote modules
KR20070102859A (ko) * 2006-04-17 2007-10-22 주식회사 케이블웨이 커뮤니케이션즈 인터넷 공지프레임 삽입 시스템
KR20080000810A (ko) * 2006-06-28 2008-01-03 엔에이치엔(주) 광고 노출 방법 및 그 시스템

Also Published As

Publication number Publication date
EP2308018A2 (en) 2011-04-13
US20090299862A1 (en) 2009-12-03
WO2009148981A3 (en) 2010-04-15
CN102047286A (zh) 2011-05-04
EP2308018A4 (en) 2013-02-06
KR101652129B1 (ko) 2016-08-29
WO2009148981A2 (en) 2009-12-10
CN102047286B (zh) 2015-04-29

Similar Documents

Publication Publication Date Title
KR101652129B1 (ko) 온라인 광고 서비스
US20090327869A1 (en) Online ad serving
EP2622559B1 (en) Securely rendering online ads in a host page
EP3231133B1 (en) Providing selective access to resources
KR102146041B1 (ko) 악성 브라우저 확장 비활성화
US10049168B2 (en) Systems and methods for modifying webpage data
US8578036B1 (en) Providing standardized transparency for cookies and other website data using a server side description file
US10264016B2 (en) Methods, systems and application programmable interface for verifying the security level of universal resource identifiers embedded within a mobile application
JP5308516B2 (ja) ウェブ・ブラウザ上の広告の掲示を選択的に確保するための方法、およびシステム
US9697188B2 (en) Method to enable cross-origin resource sharing from a webpage inside a private network
US8910277B1 (en) Process-based domain isolation
WO2015062366A1 (zh) 一种网页广告的拦截方法、装置和浏览器
US9106690B1 (en) Securing an endpoint by proxying document object models and windows
CN102282565A (zh) 用于隐私保护的具有双脚本引擎的浏览器
JP2018163633A (ja) アクセシビリティapiを使用してコンテンツへのアクセスを制御するシステムおよび方法
US9692787B1 (en) System for controlling browser extensions
CN108028839B (zh) 用于动态限制信息资源中包括的未授权内容的渲染的系统和方法
US9304976B1 (en) Positioning media to go viral
US11960834B2 (en) Reader mode-optimized attention application
JP2016045754A (ja) ウェブページへのアクセスを警告するためのプログラム、方法、及びシステム
CN105490993B (zh) 在浏览器中防止Cookie跟踪的方法和装置
US9742760B1 (en) System and method for improving login and registration efficiency to network-accessed data
US11036816B2 (en) Selective collaboration of users within a forum based on prior activity of the users within one or more forums
US20220247782A1 (en) Phishing website detection by checking form differences followed by false credentials submission

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant