IP Library › Granted Patent US 10,397,082
Granted Patent B2
US 10,397,082 · App. 14/454,698 · Granted Aug 27, 2019

Internet infrastructure measurement method and system adapted to session volume

Inventors: Martin Kagan (Portland, OR); Jacob Wan (Victoria, CA)
Assignee: Citrix Systems, Inc.
H04L43/0876H04L41/0816H04L41/142H04L43/04H04L67/02H04L67/14
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 10,397,082
App. No.
14/454,698
Granted
Aug 27, 2019
Kind
B2
Abstract

The technology disclosed relates to refined survey of Internet infrastructures. A pattern of measurements is disclosed that can improve data collection by increasing the number of measurements per survey session according to a function described in areas that have few measurements, and decreasing the average number of measurements per session in heavily measured areas. These are new problems that arise from implementation of technology developed by these inventors and their colleagues.

Claims (53)

1. A method of taking internet infrastructure performance measurements during an internet session, the method variably adapted to session volume in served areas, and comprising:

by one or more processors:

determining, for a requesting location of a web client, an average number of the internet infrastructure performance measurements to be taken per session (“MPS”), the average number of the MPS comprising an integer part and a non-zero fractional part;

wherein the internet infrastructure performance measurements are time delays measured by executing a survey code running as part of the internet session and each of the internet infrastructure performance measurements comprises:

sending a network transmission comprising a resource request;

receiving a corresponding response from a target resource hosted by a particular infrastructure; and

obtaining the corresponding measured time delay from the received response; and

wherein the internet session includes delivery of the survey code from a host web based content to a web client;

using the integer part as a base number of the infrastructure performance measurements to take during the internet session;

based on the determining, modifying the survey code to reflect the requesting location;

comparing the fractional part to a random or pseudo random sample value and further determining whether to satisfy the fractional part by taking an additional one of the internet infrastructure performance measurements during the internet session; and

causing the base number of the internet infrastructure performance measurements plus, in at least one case, the additional one internet infrastructure performance measurement, to be taken during the session.

2. The method of claim 1 , wherein the determining the MPS comprises calculating the average number of the MPS using a logarithmic function of a number of measurement sessions in a time period.

3. The method of claim 1 , wherein the determining the average number of the MPS comprises calculating the average number of the MPS using a logarithmic function of a number of measurement sessions per day in a request grouping that includes the web client.

4. The method of claim 1 , wherein the determining the average number of the MPS comprises calculating the average number of the MPS using an asymptotic function of a number of sessions in a time period.

5. The method of claim 1 , wherein the determining the average number of the MPS comprises taking the average number of the MPS from a table that uses a number of sessions in a time period as a lookup index.

6. The method of claim 1 , wherein the comparing is performed by the survey code running on the web client.

7. The method of claim 1 , further including receiving from the web client a number of measurements responsive to the base number and the determination of whether to satisfy the fractional part.

8. The method of claim 1 , further comprising transmitting, from the web client to an access quality monitor, a number of measurements responsive to the base number and the determination of whether to satisfy the fractional part.

9. The method of claim 1 , further comprising causing the taken internet infrastructure performance measurements to be transmitted from the web client to an access quality monitor.

10. A system for providing internet infrastructure performance measurements, taken during an internet session, to an access quality monitor, the system comprising:

a processor and memory coupled to the processor, the memory storing program instructions that, when executed on the processor, cause the processor to:

determine an average number of the internet infrastructure performance measurements to be taken per session (“MPS value”), the MPS value comprising an integer part and a fractional part;

wherein the internet infrastructure performance measurements are time delays measured by executing a survey code running as part of the internet session and each of the internet infrastructure performance measurements comprises:

sending a network transmission comprising a resource request;

receiving a corresponding response from a target resource hosted by a particular infrastructure; and

determining the corresponding measured time delay from the received response; and

wherein the internet session includes delivery of the survey code from a host web based content to a web client;

use the integer part as a base number of infrastructure performance measurements to take during the internet session;

compare the fractional part to a random or pseudo random sample value and further determine whether to satisfy the fractional part by taking an additional one of the internet infrastructure performance measurements during the internet session;

modify, based on the comparing and the further determining, the survey code to reflect whether to satisfy the fractional part during the internet session; and

cause the base number of the internet infrastructure performance measurements plus, in at least one case, the additional one internet infrastructure performance measurement to be taken during the session; and

cause a number of the taken internet infrastructure performance measurements, responsive to the base number and the further determining, to be transmitted from the web client to the access quality monitor.

11. The system of claim 10 , wherein the program instructions cause the processor to determine the MPS value by calculating the MPS value using a logarithmic function of a number of measurement sessions per day in a request grouping that includes the web client.

12. The system of claim 10 , wherein the program instructions cause the processor to determine the MPS value comprises calculating the MPS value using an asymptotic function of a number of sessions in a time period.

13. The system of claim 10 , wherein the program instructions cause the processor to determine the MPS value comprises taking the MPS value from a table that uses a number of sessions in a time period as a lookup index.

14. The system of claim 10 , wherein the processor is further caused to receive from the web client a number of measurements responsive to the base number and the further determination of whether to satisfy the fractional part.

15. A computer readable program product comprising one or more non-transitory computer-readable media that tangibly embodies instructions that, when executed by at least one processor, cause internet infrastructure performance measurements to be taken during a session, with a reduction of measurement traffic in areas of high session volume, the measurements being taken by:

determining an average number of the internet infrastructure performance measurements to be taken per session (“MPS”), the average number having an integer part and a fractional part;

wherein the internet infrastructure performance measurements are time delays measured by executing a survey code running as part of the internet session and each of the internet infrastructure performance measurements comprises:

sending a network transmission comprising a resource request;

receiving a corresponding response from a target resource hosted by a particular infrastructure; and

determining the corresponding measured time delay from the received response; and

wherein the internet session includes delivery of the survey code from a host web based content to a web client

using the integer part as a base number of infrastructure performance measurements to take during the internet session;

causing the survey code running on the web client to compare the fractional part to a random or pseudo random sample value and further determine whether to satisfy the fractional part by taking an additional one of the internet infrastructure performance measurements during the internet session;

causing the base number of the internet infrastructure performance measurements plus, in at least one case, the additional one internet infrastructure performance measurement, to be taken during the session; and

causing a number of the taken internet infrastructure performance measurements, responsive to the base number and the further determining, to be transmitted from the web client to an access quality monitor.

16. The computer readable program product of claim 15 , wherein the determining the average number comprises calculating the average number using a logarithmic function of a number of measurement sessions in a time period.

17. The computer readable program product of claim 15 , wherein the determining the average number comprises calculating the average number using an asymptotic function of a number of sessions in a time period.

18. The computer readable program product of claim 15 , wherein the determining the average number comprises taking the average number from a table that uses a number of sessions in a time period as a lookup index.

19. The computer readable program product of claim 15 , further including receiving from the web client a number of measurements responsive to the base number and the determination of whether to satisfy the fractional part.

20. The computer readable program product of claim 15 , wherein the determining the average number is based on a number of survey sessions per day originating from a requesting location of the web client.

Assignments (8)
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 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 →
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 →
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 →
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 Feb 12, 2018
From: CEDEXIS, INC.
To: CITRIX SYSTEMS, INC.
Reel/Frame 044894/0879 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 7, 2014
From: KAGAN, MARTIN; WAN, JACOB
To: CEDEXIS, INC.
Reel/Frame 033491/0626 →
Continuity (1)
Related Publication 20160043923A1 · Feb 11, 2016