IP Library › Granted Patent US 9,015,311
Granted Patent B2
US 9,015,311 · App. 13/479,081 · Granted Apr 21, 2015

Systems and methods for analyzing network metrics

Inventor: Muraliraja Muniraja (Fort Lauderdale, FL)
Assignee: Citrix Systems, Inc.
H04L43/026H04L41/14H04L41/22H04L43/0876
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,015,311
App. No.
13/479,081
Filed
May 23, 2012
Granted
Apr 21, 2015
Kind
B2
Art Unit
2457
USPC
709/224
Abstract

The present solution is directed to systems and methods for providing, by a device intermediary to a plurality of clients and one or more servers, analytics on a stream of network packets traversing the device. The systems and methods include the device identifying, while the device manages network traffic between the plurality of clients and the one or more servers, a stream of network packets, from a plurality of streams of network packets of the network traffic traversing the device, corresponding to a flow identifier, e.g., a selected one of an internet protocol address, a uniform resource locator or an application identifier. The systems and methods may include a collector of the analytics engine collecting, while the device manages network traffic, metrics on the identified stream of network packets and generating one or more stream objects that comprise the collected metrics.

Claims (27)

1. A method for providing by a device intermediary to a plurality of clients and one or more servers analytics on a stream of network packets traversing the device while managing network traffic between the plurality of clients and the one or more servers, the method comprising:

(a) identifying, by a device intermediary to a plurality of clients and one or more servers while managing network traffic between the plurality of clients and the one or more servers to accelerate the network traffic, a stream of network packets from a plurality of streams of network packets of the network traffic traversing the device and corresponding to a selected flow identifier comprising one of an internet protocol (IP) address, a uniform resource locator (URL) or an application identifier;

(b) collecting, by the device while managing network traffic between the plurality of clients and the one or more servers to accelerate the identified stream of network packets corresponding to the selected flow identifier, metrics on the identified stream of network packets corresponding to the selected flow identifier; and

(c) generating, by the device while managing network traffic between the plurality of clients and the one or more servers, instances of one or more stream objects that comprise an object storing the collected metrics and information identifying the flow identifier.

2. The method of claim 1 , wherein step (a) further comprises receiving, by the device while managing network traffic between the plurality of clients and the one or more servers, a selection from a user of one of the IP address, the uniform resource locator (URL) or the application to analyze one or more metrics.

3. The method of claim 1 , wherein step (b) further comprises collecting, by the device while managing network traffic between the plurality of clients and the one or more servers, a plurality of the following metrics: bandwidth utilization, a number of requests, a number of connections and response time.

4. The method of claim 1 , wherein step (b) further comprises collecting, by the device while managing network traffic between the plurality of clients and the one or more servers, for the identified stream of network packets a frequency at which requests are made.

5. The method of claim 1 , wherein step (c) further comprising storing, by the device while managing network traffic between the plurality of clients and the one or more servers, to the one or more streams objects a number of requests issued by the one or more clients via the identified stream of network packets.

6. The method of claim 1 , wherein step (c) further comprising storing, by the device while managing network traffic between the plurality of clients and the one or more servers, to the one or more streams objects a number of requests issued by the one or more clients via the identified stream of network packets.

7. The method of claim 1 , wherein step (c) further comprising storing, by the device while managing network traffic between the plurality of clients and the one or more servers, to the one or more streams objects a number of transport layer connections used by the identified stream of network packets.

8. The method of claim 1 , wherein step (c) further comprising storing, by the device while managing network traffic between the plurality of clients and the one or more servers, to the one or more streams objects an amount of bandwidth used by the selected one of the IP address, the uniform resource locator (URL) or the application via the identified stream of network packets.

9. The method of claim 1 , further comprising providing, by the device while managing network traffic between the plurality of clients and the one or more servers, data from the one or more streamed objects for displaying metrics for the identified stream of network packets in accordance with a display format included in the one or more stream objects.

10. The method of claim 1 , wherein step (b) further comprises collecting, by the device while managing network traffic between the plurality of clients and the one or more servers, for the identified stream of network packets data for a variable defined via a configuration interface and storing the data for the variable to the one or more streamed objects.

11. A system for providing by a device intermediary to a plurality of clients and one or more servers analytics on a stream of network packets traversing the device while managing network traffic between the plurality of clients and the one or more servers, the system comprising:

a device intermediary to a plurality of clients and one or more servers;

an analytics engine executing on the device identifying, while the device manages network traffic between the plurality of clients and the one or more servers to accelerate the network traffic, a stream of network packets from a plurality of streams of network packets of the network traffic traversing the device and corresponding to a selected flow identifier comprising one of an internet protocol (IP) address, a uniform resource locator (URL) or an application identifier;

a collector of the analytics engine, while the device manages network traffic between the plurality of clients and the one or more servers to accelerate the identified stream of network packets corresponding to the selected flow identifier, metrics on the identified stream of network packets corresponding to the selected flow identifier; and

wherein the analytics engine, while the device manages network traffic between the plurality of clients and the one or more servers, generates an instance of one or more stream objects that comprise an object storing the collected metrics and information identifying the selected flow identifier.

12. The system of claim 11 , wherein the device receives, while managing network traffic between the plurality of clients and the one or more servers, a selection from a user of one of the IP address, the uniform resource locator (URL) or the application to analyze one or more metrics.

13. The system of claim 11 , wherein the collector, while the device manages network traffic between the plurality of clients and the one or more servers, collects a plurality of the following metrics: bandwidth utilization, a number of requests, a number of connections and response time.

14. The system of claim 11 , wherein the collector, while the device manages g network traffic between the plurality of clients and the one or more servers, for the identified stream of network packets a frequency at which requests are made.

15. The system of claim 11 , wherein the analytics engine stores, while the device manages network traffic between the plurality of clients and the one or more servers, to the one or more streams objects a number of requests issued by the one or more clients via the identified stream of network packets.

16. The system of claim 11 , wherein the analytics engine stores, while the device manages network traffic between the plurality of clients and the one or more servers, to the one or more streams objects a number of requests issued by the one or more clients via the identified stream of network packets.

17. The system of claim 11 , wherein the analytics engine stores, while the device manages network traffic between the plurality of clients and the one or more servers, to the one or more streams objects a number of transport layer connections used by the identified stream of network packets.

18. The system of claim 11 , wherein the analytics engine stores, while the device manages network traffic between the plurality of clients and the one or more servers, to the one or more streams objects a amount of bandwidth used by the selected one of the IP address, the uniform resource locator (URL) or the application via the identified stream of network packets.

19. The system of claim 11 , wherein the analytics engine provides, while the device manages the device while managing network traffic between the plurality of clients and the one or more servers, data from the one or more streamed objects for displaying metrics for the identified stream of network packets in accordance with a display format included in the one or more stream objects.

20. The system of claim 11 , wherein the collector collects, while the device manages network traffic between the plurality of clients and the one or more servers, for the identified stream of network packets data for a variable defined via a configuration interface and the analytics engine stores the data for the variable to the one or more streamed objects.

Assignments (9)
PATENT SECURITY AGREEMENT Recorded Aug 15, 2025
From: CLOUD SOFTWARE GROUP, INC.; CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 072488/0172 →
SECURITY INTEREST Recorded May 24, 2024
From: CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.); CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 067662/0568 →
PATENT SECURITY AGREEMENT Recorded Apr 14, 2023
From: CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.); CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 063340/0164 →
RELEASE AND REASSIGNMENT OF SECURITY INTEREST IN PATENT (REEL/FRAME 062113/0001) Recorded Apr 14, 2023
From: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
To: CITRIX SYSTEMS, INC.; CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.)
Reel/Frame 063339/0525 →
PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 062112/0262 →
PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 062113/0470 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 062113/0001 →
SECURITY INTEREST Recorded Sep 30, 2022
From: CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 062079/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 22, 2013
From: MUNIRAJU, MURALIRAJA
To: CITRIX SYSTEMS, INC.
Reel/Frame 031450/0072 →
Continuity (2)
Provisional Application 61489521 · May 24, 2011
Related Publication 20120317276A1 · Dec 13, 2012