IP Library Granted Patent US 9,460,222
Granted Patent B2
US 9,460,222 · App. 13/474,709 · Granted Oct 4, 2016

System for rewriting dynamically generated uniform resource locators in proxied hyper text markup language content in accordance with proxy server rules

Inventors: Greg Gutkin (San Francisco, CA); John Grundback (San Francisco, CA); Sriram Melkote (Bangalore, IN); Artem Stemkovski (San Francisco, CA); Tim Lake (San Francisco, CA); Joseph A. Stanko (El Cerrito, CA)
Assignee: Oracle International Corporation
G06F17/30887
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,460,222
App. No.
13/474,709
Granted
Oct 4, 2016
Kind
B2
Abstract

A system and method for facilitating changing a link generated by a script provided in proxied content. The example method includes identifying a link-producing script in proxied content; applying a wrapper function to the link-producing script; and employing the wrapper function to rewrite one or more links output by the link-producing script. In a specific embodiment, the proxied content includes Hypertext Transfer Protocol Language (HTML) markup. The link-producing script is implemented via JavaScript, and one or more links output via the link-producing script includes one or more Uniform Resource Locators (URLs).

Claims (30)

1. A method, performed at a proxy server, for changing a link dynamically generated by a link producing script included in requested content provided to the proxy server by a content server, with the requested content including HyperText Markup Language (HTML) markup, the method comprising:

receiving, at the proxy server, a proxied content request from a client computer, with the client computer utilizing a proxied content request that requests content from a content server via the proxy server, with the requested content identified by a content uniform resource locator (URL), where the proxied content request is written relative to the proxy server and includes a proxy URL that identifies the proxy server and content name information that identifies the content URL;

mapping, by the proxy server, the content name information included in the proxied content request to the content URL;

retrieving, by the proxy server, the requested content by utilizing the content URL;

scanning, by the proxy server, retrieved requested content to detect the presence of a link producing script including a document write script statement that inserts a dynamically generated URL into the retrieved requested content when the document write script statement is executed, where the dynamically generated URL is not present in the retrieved requested content returned to the proxy server;

replacing, by the proxy server, the document write script statement with a call to a wrapper function, where the wrapper function, when called, rewrites the dynamically generated URL relative to the proxy server;

and

forwarding, by the proxy server, wrapped retrieved requested proxied content to the client computer.

2. The method of claim 1 wherein the link producing script is implemented via JavaScript, and wherein one or more links output via the link producing script include one or more Uniform Resource Locators (URLs).

3. The method of claim 2 wherein the document write script statement is a JavaScript document.write( . . . ) statement.

4. The method of claim 2 wherein the document write script statement is a JavaScript innerHTML statement.

5. The method of claim 1 wherein the requested content includes a pagelet.

6. The method of claim 1 further including: retrieving HTML markup corresponding to requested content identified via the request; transforming the markup in accordance with rules specified via the proxy server; and providing transformed markup to the client computer.

7. The method of claim 1 further including:

rewriting, by the proxy server, a dynamically generated URL generated when the client computer executes the captured content-inserting script and sent by the client to the proxy server employing an HTTP Post method; and

transferring, by the proxy server, a rewritten dynamically generated URL back to the client computer.

8. The method of claim 1 wherein the wrapper function includes a call to computer code included in a code library specified via the wrapper function.

9. A proxy server comprising:

a digital processor coupled to a non-transitory computer readable storage medium, wherein the proxy server receives a proxied content request from a client computer, with the requested content including HyperText Markup Language (HTML) markup, with the client computer utilizing a proxied content request that requests content from a content server via the proxy server, with the requested content identified by a content uniform resource locator (URL), where the proxied content request is written relative to the proxy server and includes a proxy URL that identifies the proxy server and content name information that identifies the content URL and wherein the non-transitory computer readable storage medium includes one or more instructions executable by the digital processor to perform the following acts to change a link dynamically generated by a link producing script included in requested content provided to the proxy server by a content server:

mapping the content name information included in the proxied content request to the content URL;

retrieving the requested content by utilizing the content URL;

scanning retrieved requested content to detect the presence of a link producing script including a document write script statement that inserts a dynamically generated URL into the retrieved requested content when the document write script statement is executed, where the dynamically generated URL is not present in the retrieved requested content returned to the proxy server;

replacing the document write script statement with a call to a wrapper function, where the wrapper function, when called, rewrites the dynamically generated URL relative to the proxy server; and

forwarding wrapped retrieved requested proxied content to the client computer.

10. A non-transitory computer readable storage medium including instructions executable by a proxy server including a digital processor to change a link dynamically generated by a link producing script included in requested content provided to the proxy server by a content server, wherein the proxy server receives a proxied content request from a client computer, with the client computer utilizing a proxied content request that requests content from a content server via the proxy server, with the requested content identified by a content uniform resource locator (URL), where the proxied content request is written relative to the proxy server and includes a proxy URL that identifies the proxy server and content name information that identifies the content URL, and wherein the non-transitory computer readable storage medium includes one or more instructions for:

mapping the content name information included in the proxied content request to the content URL;

retrieving the requested content by utilizing the content URL;

scanning retrieved requested content to detect the presence of a link producing script including a document write script statement that inserts a dynamically generated URL into the retrieved requested content when the document write script statement is executed, where the dynamically generated URL is not present in the retrieved requested content returned to the proxy server;

replacing the document write script statement with a call to a wrapper function, where the wrapper function, when called, rewrites the dynamically generated URL relative to the proxy server; and

forwarding the wrapped retrieved requested proxied content to the client computer.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 18, 2012
From: GUTKIN, GREG; GRUNDBACK, JOHN; MELKOTE, SRIRAM; STEMKOVSKI, ARTEM; LAKE, TIM; STANKO, JOSEPH A.
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 028230/0015 →
Continuity (1)
Related Publication 20130311863A1 · Nov 21, 2013