Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
SYSTEM AND METHOD FOR ENHANCED INTERACTION BETWEEN AN IFRAME OR A WEB PAGE AND AN EMBEDDED IFRAME FROM A DIFFERENT DOMAIN
Document Type and Number:
WIPO Patent Application WO/2013/035089
Kind Code:
A2
Abstract:
A method for allowing enhanced interaction between an IFRAME or a web page of a website that corresponds to a domain and an embedded IFRAME from a different domain. Accordingly, two IFrames from the same domain that are placed on the same page are allowed to run a JavaScript code one on the other. The website is allowed to place a site tag, from a domain different than the web page's domain that provided to the website by a trusted third party on the top page that is not being nested within an IFRAME. Any other code from the trusted third party that is delivered to the top page but is nested within one or more IFRAMES from different domains, is allowed to communicate with the site tag. The site tag that is delivered on the top page is allowed to perform actions on behalf of the ad tag from the same domain that is nested within the IFRAMES. The site tag that is delivered on the top page is allowed to perform actions on behalf of the ad tag from the same domain that is nested within the IFRAMES.

Inventors:
LIVERANT ALEX (IL)
RESH GIL (US)
NETZER OREN (US)
WASSERMAN GIL (IL)
Application Number:
PCT/IL2012/000332
Publication Date:
March 14, 2013
Filing Date:
September 06, 2012
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
DOUBLE VERIFY INC (US)
LIVERANT ALEX (IL)
RESH GIL (US)
NETZER OREN (US)
WASSERMAN GIL (IL)
International Classes:
H04L12/24; G06F40/143
Domestic Patent References:
WO2011055370A12011-05-12
Foreign References:
US20100299205A12010-11-25
US20110173071A12011-07-14
US20090328063A12009-12-31
Other References:
See references of EP 2754004A4
Attorney, Agent or Firm:
LUZZATTO & LUZZATTO et al. (Beer Sheva, IL)
Download PDF:
Claims:
Claims:

1. A method for allowing enhanced interaction between an IFRAME or a web page of a website that corresponds to a domain and an embedded IFRAME from a different domain, comprising: a) allowing two IFrames from the same domain that are placed on the same page to run a JavaScript code one on the other; b) allowing said website to place a site tag, from a domain different than the web page's domain, provided to said website by a trusted third party on the top page that is not being nested within an IFRAME, and further allowing any other code from said trusted third party that is delivered to said top page but is nested within one or more IFRAMES from different domains, to communicate with said site tag; and c) allowing the site tag that is delivered on the top page to perform actions on behalf of the ad tag from the same domain that is nested within the IFRAMES.

2. A method according to claim 1, comprising: a) placing the site tag on all the pages in which the website decided to allow communication ; b) using a first JavaScript code for generating an IFrame with a call to a static HTML file in the domain of the trusted domain; c) allowing a second JavaScript code from another IFrame of the trusted domain nested within multiple IFRAMES to interact with said first JavaScript; d) allowing the site tag to determine the URL of the page of said website; e) serving an ad tag inside nested IFrames, said ad tag being another snippet of code from the same domain that is embedded down the ad call chain; f) generating an IFrame with a call to a static HTML file in said trusted domain, said file contains a JavaScript code being capable of accessing said IFrame in the publisher's page; and g) allowing the site tag to pass the page URL to the ad tag by communicating through the JavaScript.

3. A method according to claim 2, wherein the site tag is operable to extract one or more of the following parameters:

■ the location of the ad on the page;

- the identity of the advertisers on the page;

- an indication whether the ad is in the visible area of the browser; - the number of ads on page.

4. A method according to claim 2, wherein communication between the Site Tag and the Ad Tag is performed by: a) generating IFrames that belong to the same trusted domain; b) using JavaScripts for iterating on the parent windows and their IFrames; c) finding the IFrame window that was created by the tag served on the top page; d) allowing said JavaScript to access the properties of said IFrame window.

5. A method according to claim 1, wherein interaction between IFrames that have the same domain are performed by the steps of: a) the client's browser submits a request for a web-page from the publisher; b) the top page is served to the client's browser; c) a site tag IFrame, linked to a trusted domain, is generated and placed on said top page; d) a first nested IFrame being linked to a first domain is embedded into the top page; e) a second nested IFrame being linked to a second domain is embedded into the first nested IFrame; f) a third nested IFRAME from the same domain as the trusted domain, being an "ad tag", is embedded into the second nested IFRAME; g) the third IFRAME searches of the site tag from the same domain to see if it exists; h) the site tag and ad tag communicate and the site tag passes information about the age to the ad tag; and i) the ad tag sends the information back to the server in real-time for collection and logging or for making decisions in real-time, or decisions are made from within the ad tag.

6. A method according to claim 5, wherein information is passed between two ad tags on the page.

7. A method according to claim 6, wherein, both ad tags are embedded in IFRAMEs.

8. A method according to claim 6, wherein both ad tags are embedded in different locations in the IFRAME stack and have access to different kinds of information.

Description:
SYSTEM AND METHOD FOR ENHANCED INTERACTION BETWEEN AN

IFRAME OR A WEB PAGE AND AN EMBEDDED I FRAME FROM A

DIFFERENT DOMAIN

Field of the Invention

The present invention relates to the field of Internet web-pages. More particularly, the invention relates to a method and system for allowing enhanced interaction between an Iframe or a web page and an embedded Iframe from a different domain without using cookies.

Background of the invention

Web pages frequently use a form of HTML code called IFRAMES (an element of a predetermined size and location on a web page that opens an internal browser to a different domain, for example, a banner), in order to embed third party content onto their pages. The use of IFRAMES allows the web page to limit the access and control of the third party code over the original web page (this limit is a two way security limit meaning the web page that created the page also cannot access and control the content of the IFRAME). However, in some cases, this method is too restrictive and limits the ability of legitimate third party code to execute properly. Specifically, the following implementation discusses a scenario in which a third party code, for example an advertising code, runs on the page nested in one or more IFRAMES, and the third party code requires identification of the URL of the web page and additional data on the page, in which it is running. Identification of the page and the additional data is important for taking proper decisions, which advertisement to serve to the web-page. For example, third party advertisement code may decide to serve an advertisement for holiday destinations on a travel site, or another example might be deciding not to serve an advertisement if the web page contains negative content or if there are already too many ads on the page. By using IFRAMEs, the third party code will typically not have access to the top URL. This limits the ability of the third party code to properly decide on the advertisement.

It is an object of the present invention to provide a method, which provides less restrictive access to legitimate third party code through the use of IFRAMES that had been pre-approved by the web page owner.

It is another object of the present invention to provide a third party with a code access to identify the page URL, the location of the third party content or ad on the page, whether it is in the visible area of the browser, the number of ads on page and any additional data that can be used for taking proper advertisement or content delivery decisions, regardless of how many IFRAMES it may be nested in, and without using cookies or any other client-side storage.

Other objects and advantages of the invention will become apparent as the description proceeds.

Summary of the Invention

The present invention is directed to a method for allowing enhanced interaction between an IFRAME or a web page of a website that corresponds to a domain and an embedded IFRAME from a different domain. Accordingly, two IFrames from the same domain that are placed on the same page are allowed to run a JavaScript code one on the other. The website is allowed to place a site tag, from a domain different than the web page's domain that provided to the website by a trusted third party on the top page that is not being nested within an IFRAME. Any other code from the trusted third party that is delivered to the top age but is nested within one or more IFRAMES from different domains, is allowed to communicate with the site tag. The site tag that is delivered on the top page is allowed to perform actions on behalf of the ad tag from the same domain that is nested within the IFRAMES. The site tag that is delivered on the top page is allowed to perform actions on behalf of the ad tag from the same domain that is nested within the IFRAMES. These actions cannot otherwise be performed by that ad tag, because of the IFRAME configuration. In one embodiment, the method may comprise the following steps: a) placing the site tag on all the pages in which the website decided to allow communication; b) using a first JavaScript code for generating an IFrame with a call to a static HTML file in the domain of the trusted domain; c) allowing a second JavaScript code from another IFrame of the trusted domain nested within multiple IFRAMES to interact with the first JavaScript; c) allowing the site tag to determine the URL of the page of the website; d) serving an ad tag inside nested IFrames, the ad tag being another snippet of code from the same domain that is embedded down the ad call chain; e) generating an IFrame with a call to a static HTML file in the trusted domain, the file contains a JavaScript code being capable of accessing the IFrame in the publisher's page; and f) allowing the site tag to pass the page URL to the ad tag by communicating through the JavaScript.

The site tag may be operable to extract one or more of the following parameters: - the location of the ad on the page; - the identity of the advertisers on the page;

- an indication whether the ad is in the visible area of the browser;

- the number of ads on page.

In one embodiment, communication between the Site Tag and the Ad Tag is performed by: a) generating IFrames that belong to the same trusted domain; b) using JavaScripts for iterating on the parent windows and their IFrames; c) finding the IFrame window that was created by the tag served on the top page; d) allowing the JavaScript to access the properties of the IFrame window.

Interaction between IFrames that have the same domain may be performed by the ste s of: a) the client's browser submits a request for a web-page from the pubhsher; b) the top page is served to the client's browser; c) a site tag IFrame, linked to a trusted domain, is generated and placed on the top page; d) a first nested IFrame being linked to a first domain is embedded into the top page; e) a second nested IFrame being linked to a second domain is embedded into the first nested IFrame; f) a third nested IFRAME from the same domain as the trusted domain, being an "ad tag", is embedded into the second nested IFRAME; g) the third IFRAME searches of the site tag from the same domain to see if it exists; h) the site tag and ad tag communicate and the site tag passes information about the page to the ad tag; and i) the ad tag sends the information back to the server in real-time for collection and logging or for making decisions in real-time, or decisions are made from within the ad tag.

In one aspect, information may be passed between two ad tags on the page. In another aspect, both ad tags are embedded in IFRAMEs.

In one aspect, both ad tags are embedded in different locations in the IFRAME stack and have access to different kinds of information. Brief Description of the Drawings

In the drawings:

- Fig. 1 illustrates an example of the layout of a web-page with a site tag on it, with two nested IFrames, according to an embodiment of the invention; and

Fig. 2 illustrates the process for allowing enhanced interaction between IFrames that have the same domain.

Detailed Description of Preferred Embodiments

The present invention suggests a novel communication method that enables two windows (IFrames) from the same domain on the same page (top page) to interact and run a JavaScript code one on the other. The website will place a snippet of code (hereinafter called a "site tag") provided to the website by a trusted third party on the top page (i.e., a page that is not nested within an IFRAME). This way, any other code from that trusted third party that will be delivered to the page, will be able to communicate with that snippet of code, even if it has been delivered within multiple IFRAMEs from different domains. This enhanced interaction scheme may be efficient particularly when it is desired to track ads, since many third parties open their own IFrames in various websites. Security tools allow each node in a chain of nested IFrames to know how many IFrames there are in the neighboring node above. This allows mapping all the IFrames, regardless their depth in the chain. Once the mapping of all IFrames is known, it is possible to detect all the IFrames that are linked to the same domain, so as to allow them to communicate and exchange information. For example, an IFrme can interact with another IFrame and detect on which page it appears, its location and depth in the chain of nested IFrames.

The proposed process includes two stages:

Stage 1: The site tag is served on the web page

During this stage, the site tag will be placed on all the pages in which the website decided to allow this type of communication. A possible implementation is that it will contain a JavaScript code that will generate an IFrame with a call to a static HTML file in the trusted domain, such as htto:/ / 'cdn.domain.com / sitetas.htm (different variations of this implementation are also possible).

This HTML file contains a simple JavaScript code that will allow a JavaScript code from another IFrame of the trusted domain nested within multiple IFRAMES to interact with it. As a result of this interaction, JavaScript code can determine the URL of the page of this website, regardless how many IFrames and domains are between them.

Stage 2: The site tag is served inside nested IFrames (IFrame inside an IFrame)

During this stage, the site tag is another snippet of code from the same domain (hereinafter called an "ad tag") that is embedded somewhere down the ad call chain. This another snippet of code generates an IFrame with a call to a static HTML file in the trusted domain (http:/ / cdn.domairi.com/ sitetaeextract.htm).

This file contains a JavaScript code that will be able to access the IFrame in the publisher's page (embedded in the Site Tag) and communicate with it to extract the URL of the web page, as well as additional data.

Communication between the Site Tag and the Ad Tag

In order to communicate between these JavaScripts (the Site Tag and the Ad Tag), the two generated IFrames that belong to the "Same Trusted Domain", the javascript option is used to iterate on the IFrame window parents property and window. frames property, since these properties are always accessible even if they are from different domain). The security model of the JavaScript allows access the window objects that come from different domain than the one the JavaScript is running but does allow iterating on the parent windows and their IFrames (generally, trying to access properties/functions of those window objects, throws an exception).

These iteration techniques allows the JavaScript running inside the IFrame that is created near the served ad to find the IFrame window that was created by the tag served on the top page. When this JavaScript finds this IFrame window, it can access its properties because they are both hosted on the same trusted domain.

An example code for JavaScript extracting publisher URL from a generated IFrame window on the web page that is ran on the IFrame that is generated adjacent to the ad is described below: var top_frames = window. top. frames;

for (var idx = 0; idx < top_frames . length; idx++) {

try {

if (window. top. frames [idx] . isSiteTag) {

window. sitetagURL =

window. o . frames [idx] - document - referrer;

}

}

catch (e) {

}

This code traverses to the top window of the pages and searches for an IFrame that has an accessible SiteTag property. If such a property is found, one code extracts the refferrer of that IFrame, which is the URL of the web page. Fig. 1 illustrates an example of the layout of a web-page with a site tag on it, with two nested IFrames. The webpage includes a top page 10 http ://cdn.publisher.com, to which a site tag 11 http:/ / cdn.domain.com/ sitetas.htm was added in the form of a 0x0 IFrame. The top page also includes a first nested IFrame 12 h p: / /netwo rk. com /ad ? 23232, in which a second nested IFrame 13 http:/ / adserver.com /ad r i '24 is embedded, where each nested IFrame belongs to a different domain. The page on the second nested IFrame 13 has an ad 14 with an ad tag 15, carried by ad 14. Ad tag 15 (represented by http:// cdn. domain.com / sitetas.read.htm in the form of a 0x0 IFrame) also includes a JavaScript that searches site tag's IFrame windows.

Fig. 2 illustrates the process for allowing interaction between IFrames that have the same domain. At the first step 201, the client's browser 20 submits a request for a web-page from the publisher 21 (http :/ Publishe . com) and in response, the top page is served to the client's browser. At the next step 202, a site tag IFrame (sitetag.htm) is generated and placed on the top page. This site tag is linked to a trusted domain (domain.com). At the next step 203, a first nested IFrame (ad? 23232), which is hnked to a first domain (Network.com), is embedded into the top page. At the next step 204, a second nested IFrame (ad? 23232), which is linked to a second domain (Adserver.com), is embedded into the first nested IFrame. At the next step 205, a third nested IFRAME from the same domain as the trusted domain (i.e, an "ad tag") is embedded into the second nested IFRAME. At the next step 206, the third IFRAME (i.e., the ad tag) searches of the site tag from the same domain to see if it exists. At the next step 207, the site tag and ad tag communicate and the site tag passes information about the page to the ad tag. At the next step 208, the ad tag sends the information back to the server in real-time for collection and logging or for making decisions in real-time, or decisions are made from within the ad tag.

According to another embodiment, information can be also passed between two tags on the page, even if they are both embedded in IFRAMEs (i.e. both are ad tags). Because they both might be embedded in different locations in the IFRAME stack, both ad tags may have access to different kinds of information. The same method can be used to exchange information between them, as well.

According to a further embodiment of the present invention, it is possible to use this interaction for creating a trusted third party that is allows to place a site tag on the web page, to pass information on the page to other third parties, that otherwise would not have access to this information, to due to IFRAME security limitations.

While some embodiments of the invention have been described by way of illustration, it will be apparent that the invention can be carried out with many modifications, variations and adaptations, and with the use of numerous equivalents or alternative solutions that are within the scope of persons skilled in the art, without departing from the spirit of the invention or exceeding the scope of the claims.