IP Library Granted Patent US 9,843,490
Granted Patent B2
US 9,843,490 · App. 13/803,365 · Granted Dec 12, 2017

Methods and systems for analytic code injection

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,843,490
App. No.
13/803,365
Granted
Dec 12, 2017
Kind
B2
Abstract

Techniques for inserting analytic logic into network requests are presented. In an embodiment, instructions are dynamically inserted into web pages as the pages are requested. The instructions enable analytics to be captured and/or tracked when the web pages are processed. In another embodiment, web requests are intercepted and processed to include analytic instructions.

Claims (26)

1. A method implemented and programmed within a non-transitory computer-readable storage medium and processed by a device configured to perform the method, comprising:

intercepting, by the device, web pages requested by a principal;

selectively, via the device, inserting analytic logic as an executable script into links associated with the web pages for capturing metrics related to access and use of the web pages by the principal, wherein inserting further includes inserting data with the executable script into the links where information obtained for executable script processing is acquired by the executable script from the data in the links, and wherein inserting further includes inserting the analytic logic without modification to any of the web pages and the web pages remain unchanged, and wherein inserting further includes inserting identity data as the data for the principal and group data for groups to which the principal belongs; and

controlling, via the device, the metrics sent to an analytic server by the analytic logic when the web pages are accessed by the principal and identifying the metrics with the identity data and the group data, wherein controlling further includes selectively disabling the metrics sent to the analytic server based on specific users, security role data and the identity data.

2. The method of claim 1 further comprising, processing, via the device, the method as a reverse proxy for a web site.

3. The method of claim 1 further comprising, processing, via the device, a forward proxy.

4. The method of claim 1 , wherein selectively inserting further includes resolving the analytic logic based on a policy evaluation.

5. The method of claim 4 , wherein resolving further includes evaluating the policy at least in part based on an identity for the principal.

6. The method of claim 1 , wherein selectively inserting further includes including with the analytic logic instructions to capture an identity for the principal, an identity for an owner of the web pages, a calendar date, a time of day, and resources being accessed via the web pages.

7. The method of claim 1 , wherein selectively inserting further includes dynamically inserting the analytic logic as the web pages are accessed by the principal.

8. The method of claim 1 , wherein controlling further includes resolving the metrics sent based on an identity for the principal.

9. The method of claim 1 , wherein controlling further includes resolving the metrics sent based on a security role assigned to the principal.

10. The method of claim 1 , wherein controlling further includes capturing at least some of the metrics based on dynamic information gathered for the principal at the time a particular web page is read by the principal.

11. A method implemented and programmed within a non-transitory computer-readable storage medium and processed by a device configured to perform the method, comprising:

detecting, at the device, an interface call directed to a web server when the interface call is incapable of being modified, wherein detecting further includes identifying the interface call as being sent by a requesting principal;

making, at the device, an analytic packet of information based on the interface call and returned information from the web server, wherein making further includes building the analytic packet with identity and security role data and wherein making further includes obtaining the identity and security role data from the interface call and the identity and security role data for the requesting principal; and

sending, from the device, the analytic packet of information to an analytic server for tracking and evaluation, wherein sending further includes selectively preventing the analytic packet from being sent to the analytic server based on specific users, the identity and security role data.

12. The method of claim 11 , further comprising, passing at least some of the returned information to a requesting application that initiated the interface call.

13. The method of claim 11 , wherein detecting further includes recognizing the interface call as a REpresentational State Transfer (REST) interface call.

14. The method of claim 11 , wherein making further includes sending the interface call to the web server on behalf of the requesting principal that initiated the interface call to ensure the received information is received.

15. The method of claim 11 , wherein making further includes constructing the analytical packet of information based on dynamic evaluation of a policy.

16. The method of claim 11 , wherein making further includes resolving at least some of the analytical packet of information based on dynamically collected information associated with the requesting principal that initiates the interface call.

17. A system, comprising:

a memory configured with an analytic code injector that processes on one or more processors of a device;

the memory configured with an interface manager that processes on the one or more processors of the device wherein the analytic code injector is configured to dynamically inject analytic logic into web pages accessed by a principal, the interface manager is configured to create an analytic packet based on interface calls made by the principal when the interface calls are incapable of being modified and the web pages remain unchanged, and the analytic packet built with security and role data for the principal and obtained from the interface call, and wherein the analytic logic and the analytic packet communicate metrics to an analytic server based on access of the principal to the web pages or a web server, and wherein the metrics are selectively not communicated to the analytic server based on specific users, identity data, and the security and role data.

18. The system of claim 17 , wherein the interface calls are REpresentational State Transfer (REST) calls made by the principal to the web server.

Assignments (13)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 11, 2026
From: NETIQ CORPORATION
To: MICRO FOCUS LLC
Reel/Frame 073758/0696 →
RELEASE OF SECURITY INTEREST REEL/FRAME 035656/0251 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: BORLAND SOFTWARE CORPORATION; ATTACHMATE CORPORATION; NETIQ CORPORATION; MICRO FOCUS (US), INC.; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.)
Reel/Frame 062623/0009 →
RELEASE OF SECURITY INTEREST REEL/FRAME 044183/0718 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: MICRO FOCUS LLC (F/K/A ENTIT SOFTWARE LLC); BORLAND SOFTWARE CORPORATION; MICRO FOCUS (US), INC.; SERENA SOFTWARE, INC; ATTACHMATE CORPORATION; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.); NETIQ CORPORATION
Reel/Frame 062746/0399 →
CORRECTIVE ASSIGNMENT TO CORRECT THE TO CORRECT TYPO IN APPLICATION NUMBER 10708121 WHICH SHOULD BE 10708021 PREVIOUSLY RECORDED ON REEL 042388 FRAME 0386. ASSIGNOR(S) HEREBY CONFIRMS THE NOTICE OF SUCCESSION OF AGENCY. Recorded Jul 26, 2018
From: BANK OF AMERICA, N.A., AS PRIOR AGENT
To: JPMORGAN CHASE BANK, N.A., AS SUCCESSOR AGENT
Reel/Frame 048793/0832 →
SECURITY INTEREST Recorded Oct 11, 2017
From: ATTACHMATE CORPORATION; BORLAND SOFTWARE CORPORATION; NETIQ CORPORATION; MICRO FOCUS (US), INC.; MICRO FOCUS SOFTWARE, INC.; ENTIT SOFTWARE LLC; ARCSIGHT, LLC; SERENA SOFTWARE, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 044183/0718 →
NOTICE OF SUCCESSION OF AGENCY Recorded May 2, 2017
From: BANK OF AMERICA, N.A., AS PRIOR AGENT
To: JPMORGAN CHASE BANK, N.A., AS SUCCESSOR AGENT
Reel/Frame 042388/0386 →
SECURITY INTEREST Recorded May 13, 2015
From: MICRO FOCUS (US), INC.; BORLAND SOFTWARE CORPORATION; ATTACHMATE CORPORATION; NETIQ CORPORATION; NOVELL, INC.
To: BANK OF AMERICA, N.A.
Reel/Frame 035656/0251 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 030323/0411 Recorded Nov 24, 2014
From: CREDIT SUISSE AG
To: NOVELL, INC.
Reel/Frame 034446/0384 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 030323/0401 Recorded Nov 24, 2014
From: CREDIT SUISSE AG
To: NOVELL, INC.
Reel/Frame 034446/0343 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 18, 2014
From: NOVELL, INC.
To: NETIQ CORPORATION
Reel/Frame 033553/0379 →
GRANT OF PATENT SECURITY INTEREST (FIRST LIEN) Recorded Apr 30, 2013
From: NOVELL, INC.
To: CREDIT SUISSE AG, AS COLLATERAL AGENT
Reel/Frame 030323/0401 →
GRANT OF PATENT SECURITY INTEREST (SECOND LIEN) Recorded Apr 30, 2013
From: NOVELL, INC.
To: CREDIT SUISSE AG, AS COLLATERAL AGENT
Reel/Frame 030323/0411 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 14, 2013
From: BURCH, LLOYD LEON; BUSS, DUANE FREDRICK
To: NOVELL, INC.
Reel/Frame 029997/0374 →