IP Library Granted Patent US 11,218,294
Granted Patent B2
US 11,218,294 · App. 16/740,009 · Granted Jan 4, 2022

Anonymized storage of monitoring data

Inventors: Kathleen Moriarty (Arlington, MA); Amy Seibel (Cambridge, MA); Alex Robbins (Mansfield, MA); Benjamin Santaus (Cambridge, MA)
Assignee: EMC IP Holding Company LLC
H04L9/0643H04L9/3297H04L43/0817H04L43/106H04L63/0421H04L63/20H04L67/025H04L67/1097H04L67/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 11,218,294
App. No.
16/740,009
Granted
Jan 4, 2022
Kind
B2
Abstract

A system in one embodiment comprises a first endpoint device that is configured to communicate with a second endpoint device using a given communication protocol. The first endpoint device is configured to monitor a communication session under the given communication protocol and to generate monitoring data associated with the communication session. The first endpoint device is configured to determine that a designated network condition has occurred based at least in part on the monitoring data. The first endpoint device is configured to activate a performance monitoring component based at least in part on the determination that the designated network condition has occurred and to generate performance data utilizing the activated performance monitoring component. The first endpoint device is configured to anonymize and store the performance data.

Claims (68)

1. A system comprising:

a first endpoint device, the first endpoint device comprising at least one processor coupled to memory, the first endpoint device being configured to communicate with a second endpoint device over a network using a given communication protocol, the at least one processor being configured:

to monitor a communication session under the given communication protocol between the first endpoint device and the second endpoint device;

to generate monitoring data associated with the communication session based at least in part on the monitoring;

to determine that a designated network condition has occurred based at least in part on the generated monitoring data;

to activate a performance monitoring component of the given communication protocol for the first endpoint device based at least in part on the determination that the designated network condition has occurred;

to generate performance data associated with the communication session based at least in part on the activated performance monitoring component; and

to anonymize and store the performance data.

2. The system of claim 1 wherein the at least one processor is further configured to anonymize and store the monitoring data, the anonymizing and storing of the monitoring data comprising:

deleting or not storing a first portion of the monitoring data that comprises an indication of an identity of at least one of the first endpoint device and the second endpoint device; and

storing at least a second portion of the monitoring data that does not comprise an indication of an identity of at least one of the first endpoint device and the second endpoint device.

3. The system of claim 1 wherein anonymizing and storing the performance monitoring data comprises:

generating an identifier based at least in part on the performance monitoring data;

storing a portion of the performance data that that does not comprise an indication of an identity of at least one of the first endpoint device and the second endpoint device in a mapping table based at least in part on the generated identifier.

4. The system of claim 3 wherein generating the identifier comprises tokenizing at least a portion of the performance data to generate the identifier.

5. The system of claim 4

wherein tokenizing the at least a portion of the performance data comprises generating a hash based at least in part on the at least a portion of the performance data;

wherein the mapping table is a hash table comprising a plurality of buckets; and

wherein storing the portion of the performance data in the mapping table based at least in part on the generated identifier comprises storing the portion of the performance data in a bucket of the hash table corresponding to the generated hash.

6. The system of claim 3 wherein the portion of the performance data that does not comprise an indication of an identity of at least one of the first endpoint device and the second endpoint device comprises at least one of a timestamp for a last sent packet, a timestamp for a last received packet, ordered packet sequence numbers for outgoing packets and outgoing sequence numbers for incoming packets.

7. The system of claim 1 wherein the at least one processor is further configured to delete at least a portion of the stored anonymized performance data according to a deletion setting comprising one or more of:

a time-based deletion setting that is configured to delete at least a portion of the stored anonymized performance data after a predetermined amount of time;

a size-based deletion setting that is configured to delete at least a portion of the stored anonymized performance data in response a size of the stored anonymized performance data exceeding a predetermined size;

a percentage-based deletion setting that is configured to delete at least a portion of the stored anonymized performance data in response a size of the stored anonymized performance data exceeding a percentage of available space on the first endpoint device; and

a privacy-based deletion setting that is configured to delete at least a portion of the stored anonymized performance data according to a privacy setting set by a user of the first endpoint device.

8. The system of claim 7 wherein the at least one processor is further configured:

to present a consent request to a user of the first endpoint device; and

to receive a response from the user of the first endpoint device in response to the consent request, the response comprising an indication of consent to activate the performance monitoring component.

9. The system of claim 8 wherein the response to the consent request comprises a selection of one or more of the deletion settings.

10. A method comprising:

monitoring a communication session under a given communication protocol between a first endpoint device and a second endpoint device;

generating monitoring data associated with the communication session based at least in part on the monitoring;

determining that a designated network condition has occurred based at least in part on the generated monitoring data;

activating a performance monitoring component of the given communication protocol for the first endpoint device based at least in part on the determination that the designated network condition has occurred;

generating performance data associated with the communication session based at least in part on the activated performance monitoring component; and

anonymizing and storing the performance data;

wherein the method is performed by at least one processor of the first endpoint device.

11. The method of claim 10 wherein the method further comprises anonymizing and storing the monitoring data, the anonymizing and storing of the monitoring data comprising:

deleting or not storing a first portion of the monitoring data that comprises an indication of an identity of at least one of the first endpoint device and the second endpoint device; and

storing at least a second portion of the monitoring data that does not comprise an indication of an identity of at least one of the first endpoint device and the second endpoint device.

12. The method of claim 10 wherein anonymizing and storing the performance monitoring data comprises:

generating an identifier based at least in part on the performance monitoring data;

storing a portion of the performance data that that does not comprise an indication of an identity of at least one of the first endpoint device and the second endpoint device in a mapping table based at least in part on the generated identifier.

13. The method of claim 12 wherein generating the identifier comprises tokenizing at least a portion of the performance data to generate the identifier.

14. The method of claim 13

wherein tokenizing the at least a portion of the performance data comprises generating a hash based at least in part on the at least a portion of the performance data;

wherein the mapping table is a hash table comprising a plurality of buckets; and

wherein storing the portion of the performance data in the mapping table based at least in part on the generated identifier comprises storing the portion of the performance data in a bucket of the hash table corresponding to the generated hash.

15. The method of claim 12 wherein the portion of the performance data that does not comprise an indication of an identity of at least one of the first endpoint device and the second endpoint device comprises at least one of a timestamp for a last sent packet, a timestamp for a last received packet, ordered packet sequence numbers for outgoing packets and outgoing sequence numbers for incoming packets.

16. The method of claim 10 wherein the method further comprises deleting at least a portion of the stored anonymized performance data according to a deletion setting comprising one or more of:

a time-based deletion setting that is configured to delete at least a portion of the stored anonymized performance data after a predetermined amount of time;

a size-based deletion setting that is configured to delete at least a portion of the stored anonymized performance data in response a size of the stored anonymized performance data exceeding a predetermined size;

a percentage-based deletion setting that is configured to delete at least a portion of the stored anonymized performance data in response a size of the stored anonymized performance data exceeding a percentage of available space on the first endpoint device; and

a privacy-based deletion setting that is configured to delete at least a portion of the stored anonymized performance data according to a privacy setting set by a user of the first endpoint device.

17. The method of claim 16 wherein the method further comprises:

presenting a consent request to a user of the first endpoint device; and

receiving a response from the user of the first endpoint device in response to the consent request, the response comprising an indication of consent to activate the performance monitoring component.

18. The method of claim 17 wherein the response to the consent request comprises a selection of one or more of the deletion settings.

19. A computer program product comprising a non-transitory processor-readable storage medium having stored therein program code of one or more software programs, wherein the program code when executed by at least one processor of a first endpoint device, the first endpoint device comprising at least one processor coupled to memory, the first endpoint device being configured to communicate with a second endpoint device over a network using a given communication protocol, causes the at least one processor:

to monitor a communication session under the given communication protocol between the first endpoint device and the second endpoint device;

to generate monitoring data associated with the communication session based at least in part on the monitoring;

to determine that a designated network condition has occurred based at least in part on the generated monitoring data;

to activate a performance monitoring component of the given communication protocol for the first endpoint device based at least in part on the determination that the designated network condition has occurred;

to generate performance data associated with the communication session based at least in part on the activated performance monitoring component; and

to anonymize and store the performance data.

20. The computer program product of claim 19 wherein anonymizing and storing the performance monitoring data comprises:

generating an identifier based at least in part on the performance monitoring data;

storing a portion of the performance data that that does not comprise an indication of an identity of at least one of the first endpoint device and the second endpoint device in a mapping table based at least in part on the generated identifier.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053311/0169) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060438/0742 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052216/0758) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060438/0680 →
RELEASE OF SECURITY INTEREST AF REEL 052243 FRAME 0773 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0152 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 053311/0169 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 26, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 052243/0773 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Mar 24, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052216/0758 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 10, 2020
From: MORIARTY, KATHLEEN; SEIBEL, AMY; ROBBINS, ALEX; SANTAUS, BENJAMIN
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 051481/0608 →