IP Library Granted Patent US 8,522,200
Granted Patent B2
US 8,522,200 · App. 12/199,813 · Granted Aug 27, 2013

Detouring in scripting systems

Inventors: John Dunagan (Bellevue, WA); Xiaofeng Fan (Redmond, WA); Jiahe Wang (Redmond, WA)
Assignee: Microsoft Corporation
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 8,522,200
App. No.
12/199,813
Granted
Aug 27, 2013
Kind
B2
Abstract

A system described herein includes a receiver component that receives third party code for execution in a host environment, wherein the third party code corresponds to a dynamic programming language, and wherein the third party code has at least one object reference to a first object that is used by the third party code. A detouring component automatically replaces the first object referenced by the third party code with a proxy object such that the third party code at runtime calls the proxy object instead of the first object.

Claims (32)

1. A method comprising the following computer-executable acts:

in a web browser, receiving an advertisement that is desirably displayed in the web browser, the advertisement comprising computer-executable code that is written in a dynamic programming language, the computer-executable code comprising a reference to an object, the object being a document object model object;

prior to executing the computer-executable code in the web browser, replacing the reference to the object with a reference to a proxy object; and

subsequent to replacing the reference to the object with the reference to the proxy object, executing the computer-executable code such that the computer-executable code calls the proxy object rather than the object.

2. The method of claim 1 , wherein the computer-executable code comprises a plurality of references to a respective plurality of objects, and further comprising replacing the plurality of references to the respective plurality of objects with a plurality of references to a respective plurality of proxy objects.

3. The method of claim 2 , wherein the plurality of objects are document object model objects.

4. The method of claim 1 , wherein the dynamic programming language is javascript.

5. The method of claim 1 , wherein the proxy object facilitates restricting access to a portion of a web page to the computer-executable code.

6. The method of claim 1 , further comprising using the proxy object to migrate an advertisement from a same domain iframe to a soft-cross-domain iframe.

7. The method of claim 1 , further comprising rendering the advertisement on a web page.

8. The method of claim 1 , wherein the advertisement is an interactive advertisement.

9. The method of claim 1 , wherein the advertisement is desirably displayed in the web browser together with at least one email of a user.

10. The method of claim 1 , wherein the proxy object restricts an amount of time that the advertisement is displayed in the web browser.

11. A system comprising the following computer executable components:

a processor; and

a memory that comprises a plurality of components that are executed by the processor, the plurality of components comprising:

a receiver component that receives an advertisement for display on a web page, the advertisement comprising third party code for execution in a web browser, wherein the third party code is written in a dynamic programming language, wherein the third party code has at least one object reference to a first object that is used by the third party code, the first object being a document object model object; and

a detouring component that automatically replaces the first object referenced by the third party code with a proxy object such that the third party code at runtime calls the proxy object instead of the first object.

12. The system of claim 11 , wherein the advertisement is an interactive advertisement.

13. The system of claim 11 , wherein the detouring component comprises:

a creator component that creates the proxy object; and

a replacer component that replaces the at least one object reference with the created proxy object.

14. The system of claim 11 , wherein the plurality of components further comprises a render component that renders the advertisement in the web browser based at least in part upon the received third party code.

15. The system of claim 11 , wherein the detouring component creates a plurality of proxy objects corresponding to a plurality of objects referenced by the third party code.

16. The system of claim 11 , wherein the dynamic programming language is javascript.

17. The system of claim 11 , wherein the proxy object facilitates restricting access to a portion of the web page to the third party code.

18. A computer readable data storage device comprising instructions that, when executed by a computer, perform the following acts:

in a web browser, calling in third party code that is to be executed in a web page as an advertisement, wherein the third party code is javascript code;

creating a proxy object in a java execution environment, wherein the proxy object is a proxy to a document object model object referenced in the third party code;

replacing the document object model object referenced in the third party code with the proxy object;

executing the third party code in an iframe; and

proxying a document object model operation through use of the proxy object.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034564/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 8, 2008
From: DUNAGAN, JOHN; FAN, XIAOFENG; WANG, JIAHE
To: MICROSOFT CORPORATION
Reel/Frame 021492/0178 →
Continuity (1)
Related Publication 20100058293A1 · Mar 4, 2010