IP Library Granted Patent US 9,548,985
Granted Patent B2
US 9,548,985 · App. 12/207,341 · Granted Jan 17, 2017

Non-invasive contextual and rule driven injection proxy

Inventors: Michael Ryan Amend (Frisco, TX); David P. Meyer (San Francisco, CA); Joseph A. Stanko (El Cerrito, CA); Phani Pandrangi (San Jose, CA); Adrian Peter McDermott (San Francisco, CA); Don L. Hayler (Palo Alto, CA); Thomas Doyle Quigley (Oakland, CA); Stanley Hsinheng Lin (San Francisco, CA)
Assignee: ORACLE INTERNATIONAL CORPORATION
H04L63/105H04L67/02H04L67/2838
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,548,985
App. No.
12/207,341
Granted
Jan 17, 2017
Kind
B2
Abstract

User requests for a web application can be received at a reverse proxy. Web application code for a first application can be obtained. Data can be checked at the reverse proxy to determine whether to insert an element into the first application. If there is a match, a combined web application can be produced, including the first web application and the element.

Claims (56)

1. A method comprising:

storing, by one or more computer systems hosting a reverse proxy, in a database, an injection rule for a web application, wherein the injection rule identifies injection code and an injection location to insert the injection code in web application code of the web application, wherein the injection rule and the injection code are not generated by processing the web application code;

receiving, at the one or more computer systems hosting a reverse proxy, a request for the web application identified by a uniform resource locator;

in response to receiving the request for the web application, querying, by the one or more computer systems hosting the reverse proxy, the database to obtain the injection rule;

receiving, by the one or more computer systems hosting the reverse proxy, the web application code from an application server in communication with the reverse proxy using the uniform resource locator;

receiving, at the one or more computer systems hosting the reverse proxy, the injection code; and

generating, with one or more processors associated with the one or more computer systems hosting the reverse proxy, a response to the request for the web application by creating response web application code by combining the web application code with the injection code injected into the web application code at the location specified by the injection rule.

2. The method of claim 1 , wherein the injection code comprises a pagelet application.

3. The method of claim 1 , wherein the injection code comprises static HTML.

4. The method of claim 1 , wherein the infection code comprises a second web application.

5. The method of claim 1 , wherein the location in the web application code in which to insert the application injection code comprises a DOM-TREE reference.

6. The method of claim 1 , wherein generating the response to the request further includes applying one or more user preferences to determine whether to insert the injection code into the web application code.

7. The method of claim 1 , further comprising searching for the location in the web application code using a pattern matching indication or a document object model indication.

8. A reverse proxy system comprising:

a processor; and

a memory in communication with the processor, the memory storing a set of instructions, which when executed by the processor cause the processor to:

store an injection rule for a web application in a database, wherein the injection rule identifies injection code and an injection location to insert the injection code in web application code of the web application, wherein the injection rule and the injection code are not generated by processing the web application code;

receive a request for the web application identified by a uniform resource locator;

in response to receiving the request for the web application, querying the database to obtain the injection rule;

receive the web application code from an application server in communication with the reverse proxy system using the uniform resource locator;

receive the injection code; and

generate a response to the request for the web application by creating response web application code by combining the web application code with the injection code injected into the web application code at the location specified by the injection rule.

9. The reverse proxy system of claim 8 , wherein the injection code comprises a pagelet application.

10. The reverse proxy system of claim 8 , wherein the infection code comprises static HTML.

11. The reverse proxy system of claim 8 , wherein the injection code comprises a second web application.

12. A system comprising:

a processor; and

a memory in communication with the processor, the memory a set of instructions, which when executed by the processor cause the processor to:

store an injection rule for a web application in a database, wherein the injection rule identifies injection code and an injection location to insert the injection code in web application code of the web application, wherein the injection rule and the injection code are not generated by processing the web application code;

receive a request for the web application identified by a uniform resource locator;

in response to receiving the request for the web application, querying the database to obtain the injection rule;

receive the web application code from an application server in communication with a reverse proxy using the uniform resource locator;

receive the injection rule code; and

generate a response to the request for the web application by creating response web application code by combining the web application code with the injection code injected into the web application code at the location specified by the injection rule;

wherein a DOM-TREE is used to determine where to insert the infection code.

13. The system of claim 12 , wherein the injection code comprises a pagelet application.

14. The system of claim 12 , wherein the infection code comprises static HTML.

15. The system of claim 12 , wherein the infection code comprises a second web application.

16. A non-transitory machine-readable medium for a reverse proxy computer system, the non-transitory machine-readable medium having stored thereon a series of instructions executable by a processor, the series of instructions comprising:

instructions that cause the processor to store an injection rule for a web application in a database, wherein the injection rule identifies injection code and an injection location to insert the injection code in web application code of the web application, wherein the injection rule and the injection code are not generated by processing the web application code;

instructions that cause the processor to receive a request for the web application identified by a uniform resource locator;

instructions that cause the processor to, in response to receiving the request for the web application, query the database to obtain the injection rule;

instructions that cause the processor to receive the web application code from an application server in communication with the reverse proxy computer system using the uniform resource locator;

instructions that cause the processor to receive the injection code; and

instructions that cause the processor to generate a response to the request for the web application by creating response web application code by combining the web application code with the injection code injected into the web application code at the location specified by the injection rule;

wherein a DOM-TREE is used to determine where to insert the injection code.

17. The non-transitory machine-readable medium of claim 16 , wherein the injection code comprises a pagelet application.

18. The non-transitory machine-readable medium of claim 16 , wherein the injection code comprises static HTML.

19. The non-transitory machine-readable medium of claim 16 , wherein the infection code comprises a second web application.

20. A non-transitory machine-readable medium for a reverse proxy computer system, the non-transitory machine-readable medium having stored thereon a series of instructions executable by a processor, the series of instructions comprising:

instructions that cause the processor to store an injection rule for a web application in a database, wherein the injection rule identifies injection code and an injection location to insert the injection code in web application code of the web application, wherein the injection rule and the injection code are not generated by processing the web application code;

instructions that cause the processor to receive a request for the web application identified by a uniform resource locator;

instructions that cause the processor to, in response to receiving the request for the web application, query the database to obtain the injection rule;

instructions that cause the processor to receive the web application code from an application server in communication with the reverse proxy computer system using the uniform resource locator;

instructions that cause the processor to receive the injection code; and

instructions that cause the processor to generate a response to the request for the web application by creating response web application code by combining the web application code with the injection code injected into the web application code at the location specified by the injection rule.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 21, 2011
From: BEA SYSTEMS, INC.
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 025986/0548 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 15, 2008
From: MEYER, DAVID P.; QUIGLEY, THOMAS DOYLE; MCDERMOTT, ADRIAN PETER; HAYLER, DON L.; LIN, STANLEY HSINHENG
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 021530/0411 →
Continuity (2)
Provisional Application 60974013 · Sep 20, 2007
Related Publication 20090083726A1 · Mar 26, 2009