IP Library Granted Patent US 9,558,289
Granted Patent B2
US 9,558,289 · App. 12/895,286 · Granted Jan 31, 2017

Securely rendering online ads in a host page

Inventors: Wook Jin Chung (Kirkland, WA); Gupta Garuda (Redmond, WA); Spencer Wong Low (Redmond, WA); Chad Steven Estes (Woodinville, WA); William Winter (Seattle, WA); David Immanuel Millet (Kirkland, WA); Tomoko Kwan (Bothell, WA); Philip Edward Hiatt (Seattle, WA); Rahul Sudhir Kumar (Kirkland, WA)
Assignee: Microsoft Technology Licensing, LLC
G06F17/30893G06F17/3089G06Q30/0241
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,558,289
App. No.
12/895,286
Granted
Jan 31, 2017
Kind
B2
Abstract

One or more techniques and/or systems are disclosed for rendering online ads on a webpage. A first inter-frame communication channel is created, which comprises a first communication channel between a first cross-domain frame and a host page, such as the webpage. The first cross-domain frame comprises content from a domain that is different than that of the host page domain. A second inter-frame communication channel is created comprising a second communication channel between the first cross-domain frame and a second cross-domain frame in the host page.

Claims (55)

1. A computer-based method comprising:

creating a first inter-frame communication channel between a first cross-domain frame placed within a host page and the host page, the first cross-domain frame comprising content received from a first domain different than a domain of the host page; and

creating a second inter-frame communication channel between the first cross-domain frame and a second cross-domain frame placed within the host page, the second cross-domain frame comprising content received from a second domain different than the domain of the host page, wherein the second inter-frame communication channel is used to communicate a request to interact between the first cross-domain frame and the second cross-domain frame to initiate an interactive ad associated with the first cross-domain frame and the second cross-domain frame, the interactive ad comprising ad content passing over the second inter-frame communication channel from at least one of the first cross-domain frame to the second cross-domain frame or the second cross-domain frame to the first cross-domain frame as at least part of an animation.

2. The method of claim 1 , the first domain being different than the second domain.

3. The method of claim 1 , comprising at least one of:

creating the first cross-domain frame; or

creating one or more second cross-domain frames in the host page.

4. The method of claim 1 , the first cross-domain frame is not nested within the second cross-domain frame, the second cross-domain frame is not nested within the first cross-domain frame.

5. The method of claim 1 , comprising allowing merely white-listed data to travel over at least one of the first inter-frame communication channel or the second inter-frame communication channel.

6. The method of claim 1 , comprising validating a source of data traveling over at least one of the first inter-frame communication channel or the second inter-frame communication channel.

7. The method of claim 1 , comprising planting a token in at least one of the first cross-domain frame or the second cross-domain frame that is used for communicating across at least one of the first inter-frame communication channel or the second inter-frame communication channel.

8. The method of claim 1 , comprising at least one of:

serializing a first communication to the host page across the first inter-frame communication channel; or

treating a second communication to the host page across the first inter-frame communication channel as a non-executable string.

9. The method of claim 1 , the first domain not different than the second domain.

10. The method of claim 1 , comprising synchronizing the first cross-domain frame and the second cross-domain frame.

11. The method of claim 1 , comprising at least one of:

securing the first inter-frame communication channel using a first list of allowed functionalities for content inside the first cross-domain frame;

securing the second inter-frame communication channel using a second list of allowed functionalities for content inside the first cross-domain frame; or

securing the second inter-frame communication channel using a third list of allowed functionalities for content inside the second cross-domain frame.

12. The method of claim 11 , at least one of the securing the first inter-frame communication channel using the first list, the securing the second inter-frame communication channel using the second list, or the securing the second inter-frame communication channel using the third list performed based upon at least one of:

one or more frame display properties;

one or more frame utilities; or

one or more frame user interface functionalities.

13. The method of claim 1 , comprising at least one of:

resizing a cross-domain frame within the host page;

moving a cross-domain frame within the host page;

spawning a child cross-domain frame within the host page;

synchronizing content between two or more cross-domain frames;

broadcasting a message to one or more cross-domain frames; or

closing a cross-domain frame.

14. A system comprising:

a processing unit implemented at least in part via hardware and configured to process data for the system;

a frame-host communication channel creation component configured to create a frame-host communication channel between a host page and a first cross-domain frame placed within the host page; and

a frame-frame communication channel creation component configured to create a frame-frame communication channel between the first cross-domain frame and a second cross-domain frame placed within the host page, where the frame-frame communication channel is used to communicate a request for interaction between the first cross-domain frame and the second cross-domain frame to initiate an interactive ad associated with at least one of the first cross-domain frame or the second cross-domain frame, the interactive ad comprising ad content passing over the second inter-frame communication channel from at least one of the first cross-domain frame to the second cross-domain frame or the second cross-domain frame to the first cross-domain frame.

15. The system of claim 14 , comprising a frame creation component configured to create a cross-domain frame in the host page.

16. The system of claim 14 , at least one of:

the frame-host communication channel creation component configured to be activated by content in the first cross-domain frame; or

the frame-frame communication channel creation component configured to be activated by content in the first cross-domain frame.

17. The system of claim 14 , comprising a security component configured to filter requests across the frame-host communication channel, the security component comprising at least one of:

a white-list comparison component configured to allow merely white-listed data to travel over the frame-host communication channel;

a validation component configured to validate a source of first data traveling over the frame-host communication channel prior to allowing the first data to cross to the host page;

a token utilization component configured to at least one of:

plant a token in a cross-domain frame created in the host page; or

merely allow data comprising the token to travel over the frame-host communication channel; or

a serialization component configured to one or more at least one of:

serialize a first communication to the host page across the frame-host communication channel; or

configure a second communication to the host page across the frame-host communication channel as a non-executable string.

18. The system of claim 14 , the frame-frame communication channel configured to pass the request through the host page.

19. The system of claim 14 , the frame-frame communication channel creation component configured to at least one of:

pass a first reference for first content from the first cross-domain frame to the second cross-domain frame; or

pass a second reference for second content from the second cross-domain frame to the first cross-domain frame.

20. A computer readable storage medium comprising instructions that when executed perform a method comprising:

creating a first inter-frame communication channel between a first cross-domain frame in a host page and the host page; and

creating a second inter-frame communication channel between the first cross-domain frame and a second cross-domain frame in the host page, wherein the second inter-frame communication channel is used to communicate a request to interact, between the first cross-domain frame and the second cross-domain frame, to initiate an interactive ad, the interactive ad comprising ad content passing over the second inter-frame communication channel from at least one of the first cross-domain frame to the second cross-domain frame or the second cross-domain frame to the first cross-domain, the interactive ad comprising an animation.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034544/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 7, 2010
From: CHUNG, WOOK JIN; GARUDA, GUPTA; ESTES, CHAD STEVEN; LOW, SPENCER WONG; WINTER, WILLIAM; MILLET, DAVID IMMANUEL; KWAN, TOMOKO; KUMAR, RAHUL SUDHIR; HIATT, PHILIP EDWARD
To: MICROSOFT CORPORATION
Reel/Frame 025103/0233 →
Continuity (1)
Related Publication 20120084641A1 · Apr 5, 2012