IP Library Granted Patent US 9,361,345
Granted Patent B2
US 9,361,345 · App. 14/335,886 · Granted Jun 7, 2016

Method and system for automated analysis and transformation of web pages

Inventor: Guy Podjarny (Ottawa, CA)
Assignee: Akamai Technologies, Inc.
G06F17/30557G06F17/2247G06F17/30905
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,361,345
App. No.
14/335,886
Granted
Jun 7, 2016
Kind
B2
Abstract

A method and system for modifying web pages, including dynamic web pages, based on automated analysis wherein web pages are transformed based on transformation instructions in nearly real-time, and wherein analysis is performed and transformation instructions based on the analysis are prepared prior to a request for the web page. The system has two primary components, an analyzer which asynchronously and repeatedly analyzes web pages creating and updating transformation instructions relating to the web pages, and a transformer which intercepts traffic to a web server in response to a request for the web page, receives the returned web pages, and transforms them based on stored transformation instructions.

Claims (30)

1. A method of providing a modified object to a client in a system wherein an object is accessible to the client from a server, and wherein the object has an associated network locator or link thereto corresponding to an address, wherein in response to a request for the object the server provides the object to the client, comprising:

asynchronous to, and prior to the request from the client, in dependence upon at least one predetermined condition, analyzing at least a portion of the object with an analyzer in a computing entity to identify at least a predetermined characteristic and, in response thereto, creating one or more transformation instructions that will change the predetermined characteristic when the object is modified, the transformation instructions being textual search and replace instructions;

storing the transformation instructions in a repository;

modifying the object provided by the server in response to the request to the object based on the transformation instructions that were stored in the repository prior to the request from the client; and,

providing the modified object to the client;

wherein the analyzer requests the object from the server prior to analyzing to obtain the object to analyze.

2. The method of claim 1 wherein the creation of the transformation instructions also includes the creation of a resource related to a transformation instruction.

3. The method as defined in claim 2 wherein the resource is stored on at least a part of a content delivery network, and wherein a transformation instruction references the resource.

4. The method as defined in claim 1 wherein the transformation instructions are stored in the repository for a plurality of requests for the same object.

5. The method as defined in claim 1 wherein the transformation instructions stored within the repository are provided to transformers residing in different locations in response to requests for the object from a plurality of clients.

6. The method as defined in claim 1 wherein the analyzer repeatedly monitors the repository for requested objects to analyze.

7. The method as described in claim 1 wherein a transformation instruction is created without knowledge of the object to be transformed.

8. An apparatus, comprising:

one or more hardware processors;

computer memory associated with the one or more hardware processors;

computer program instructions held in the computer memory and executed by the one or more hardware processors to change the content of an object, in response to a request for the document from a client, the computer program instructions comprising:

program code operative asynchronous to, and prior to the request from the client, to analyze at least a portion of the object to identify at least a predetermined characteristic and, in response thereto, to create one or more transformation instructions corresponding to the characteristic, the transformation instructions being textual search and replace instructions;

program code operative to store the one or more transformation instructions prior to the request from the client; and

program code operative upon receipt of the request for the object to modify the object based on the one or more transformation instructions previously stored, and to return the modified object to the client in response to the request for the object.

9. The apparatus as defined in claim 8 , wherein the program code to analyze and the program code to modify utilize different ones of the one or more hardware processors.

10. The apparatus as defined in claim 8 , wherein the program code to analyze utilizes memory at a first location and wherein the program code to modify utilizes local cache memory at a second different location.

11. The apparatus as described in claim 8 , wherein the program code to modify operates in a request and response processing flow between the client and an origin server that publishes the object, and the program code to analyze operates externally to the request and response processing flow between the client and the origin server.

12. The apparatus as described in claim 8 wherein a transformation instruction is created without knowledge of the object to be transformed.

13. A computer program product in a non-transitory computer readable-storage medium storing computer program instructions executable in one or more hardware processors to change content of an object, in response to a request to a server for the object from a client by:

asynchronous to, and prior to the request from the client, analyzing at least a portion of the object to identify at least a predetermined characteristic and, in response thereto, to create a transformation instruction corresponding to the characteristic, the transformation instruction being a textual search and replace instruction;

storing the transformation instruction;

modifying the object provided by the server in response to the request to the object based on the transformation instruction; and,

providing the modified object to the client;

wherein computer program instructions to modify operate in a request and response processing flow between the client and the server, and the computer program instructions to analyze operate externally to the request and response processing flow between the client and the server.

14. The computer program product as defined in claim 13 wherein a transformation instruction is created without knowledge of the object to be transformed.

Assignments (7)
CORRECTIVE ASSIGNMENT TO CORRECT THE SPELLING OF INVENTOR'S LAST NAME PREVIOUSLY RECORDED ON REEL 037868 FRAME 0238. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Mar 3, 2016
From: PODJARNY, GUY
To: BLAZE SOFTWARE INC.
Reel/Frame 037985/0034 →
CHANGE OF NAME Recorded Mar 2, 2016
From: 0931812 B.C. LTD.
To: BLAZE SOFTWARE INC.
Reel/Frame 037868/0289 →
CHANGE OF NAME Recorded Mar 2, 2016
From: BLAZE SOFTWARE INC.
To: AKAMAI TECHNOLOGIES CANADA INC.
Reel/Frame 037869/0229 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 2, 2016
From: PADJARNY, GUY
To: BLAZE SOFTWARE INC.
Reel/Frame 037868/0238 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 2, 2016
From: AKAMAI TECHNOLOGIES CANADA INC.
To: AKAMAI TECHNOLOGIES, INC.
Reel/Frame 037870/0486 →
MERGER Recorded Mar 2, 2016
From: BLAZE SOFTWARE INC.
To: 0931812 B.C. LTD.
Reel/Frame 037974/0051 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 2, 2016
From: PODJARNY, GUY
To: AKAMAI TECHNOLOGIES CANADA INC.
Reel/Frame 037869/0594 →
Continuity (3)
Continuation 13149025 · May 31, 2011
Provisional Application 61357138 · Jun 22, 2010
Related Publication 20150142838A1 · May 21, 2015