IP Library Granted Patent US 10,911,556
Granted Patent B2
US 10,911,556 · App. 16/395,607 · Granted Feb 2, 2021

Method and system for controlling data transmission based on user access data

Inventors: John Goodyear (London, GB); Tony Pepper (London, GB); Neil Larkins (London, GB); Ian Angus Macinnes (London, GB)
Assignee: Egress Software Technologies IP Limited
H04L67/26G06Q10/107H04L51/28H04L63/104H04L67/1061H04L67/306H04L51/16H04L51/32
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,911,556
App. No.
16/395,607
Granted
Feb 2, 2021
Kind
B2
Abstract

A method, and system of controlling data transmission based on user access data. Data associated with a first data package is received, which indicates a sender of the first data package and a group of user identifiers corresponding to one or more proposed recipients. A group score is determined based on the similarity between the group of user identifiers and a second group of user identifiers associated with a second data package previously transmitted. A user score for a second user identifier in the second group of user identifiers is determined based on the group score, access data indicative of a time at which the second user accessed a payload of the second data package, and an access decay function based on the time elapsed since the second user accessed the payload. A change to the first group of user identifiers is generated based on the user score.

Claims (98)

1. A method of controlling transmission of data over a data network, the method comprising:

receiving, at a transmission control component of a client system, first data associated with a first data package to be sent over the data network, the first data being indicative of a first user identifier corresponding to a sender of the first data package and a first group of user identifiers corresponding to a plurality of proposed recipients of the first data package;

identifying, at the transmission control component, a second group of user identifiers comprising the first user identifier, the second group of user identifiers being associated with a second data package previously transmitted over the data network;

determining, at an update service of a server system, a group score for the second group of user identifiers based on a similarity measure, wherein the similarity measure is indicative of a degree of overlap between the first group of user identifiers and the second group of user identifiers;

determining, at the update service, a user score for a second user identifier in the second group of user identifiers based on the group score, access data indicative of a time at which the second user accessed a payload associated with the second data package, and an access decay function which is a function of a time that has elapsed since the time at which the second user accessed the payload associated with the second data package; and

generating, at the update service and based on the user score, second data indicating a change to the first group of user identifiers;

wherein:

either the determining a group score or the determining a user score is further based on transmission data indicating a time at which the second package was transmitted; and

the second data is generated to indicate that the second user identifier should be removed from the first group of user identifiers when the user score satisfies a first condition and the first group of user identifiers indicated by the first data includes the second user identifier.

2. The method of claim 1 , wherein the second data is generated to indicate that the second user identifier should be added to the first group of user identifiers when the user score satisfies a second condition and the first group of user identifiers indicated by the first data does not include the second user identifier.

3. The method of claim 1 , wherein the second group of user identifiers is associated with a third data package previously transmitted over the data network, the method further comprising:

updating, at the update service, the group score for the second group of user identifiers based on the similarity measure and transmission data indicating a time at which the third data package was transmitted.

4. The method of claim 3 , further comprising:

updating, at the update service, the user score for the second user identifier in the second group of user identifiers based on access data indicating a time at which the second user accessed the third data package.

5. The method of claim 1 , wherein the second group of user identifiers is identified from a data structure storing historical package data associated with a plurality of data packages previously transmitted over the data network.

6. The method of claim 5 , wherein the data structure comprises a graph data structure which defines a relationship between the second group of user identifiers, the second package, the transmission data and the access data.

7. The method of claim 1 , wherein the similarity measure is calculated according to:

J

=

r

u

r

u

wherein r is the first group user identifiers and u is the second group of user identifiers.

8. The method of claim 1 , wherein the group score for the second group of user identifiers is updated based on a transmission decay function which is a function of the time that has elapsed since the time at which the second data package was transmitted.

9. The method of claim 8 , wherein the transmission decay function is calculated according to:

1

+

tanh

(

-

Δ

D

t

+

α

1

β

1

)

wherein ΔD t is the number of days since the time at which the second data package was transmitted and α 1 and β 1 are tuneable parameters.

10. The method of claim 1 , wherein the access decay function is calculated according to:

Θ

[

1

+

tanh

(

-

Δ

D

α

+

α

2

β

2

)

]

wherein ΔD a is the number of days since the time at which the second user accessed the payload associated with the second data package and Θ, α 2 and β 2 are tuneable parameters.

11. The method of claim 1 , wherein the second data package is an email message and the payload associated with the second data package is content contained in a body of the email message.

12. The method of claim 1 , wherein the payload associated with the second data package is an encrypted payload and the time indicated by the time at which the second user accessed the encrypted payload associated with the second data package corresponds to the time of receipt of a request from the second user to access the encrypted payload.

13. A non-transitory computer-readable storage medium comprising computer-executable instructions which, when executed by a processor, cause a computing device to perform a method of controlling transmission of data over a data network comprising:

receiving, at a transmission control component of a client system, first data associated with a first data package to be sent over the data network, the first data being indicative of a first user identifier corresponding to a sender of the first data package and a first group of user identifiers corresponding to a plurality of recipients of the first data package;

identifying, at the transmission control component, a second group of user identifiers comprising the first user identifier, the second group of user identifiers being associated with a second data package previously transmitted over the data network;

determining, at an update service of a server system, a group score for the second group of user identifiers based on a similarity measure, wherein the similarity measure is indicative of a degree of overlap between the first group of user identifiers and the second group of user identifiers;

determining, at the update service, a user score for a second user identifier in the second group of user identifiers based on the group score, access data indicative of a time at which the second user accessed a payload associated with the second data package, and an access decay function which is a function of a time that has elapsed since the time at which the second user accessed the payload associated with the second data package; and

generating, at the update service and based on the user score, second data indicating a change to the first group of user identifiers;

wherein:

either the determining a group score or the determining a user score is further based on transmission data indicating a time at which the second package was transmitted; and

the second data is generated to indicate that the second user identifier should be removed from the first group of user identifiers when the user score satisfies a first condition and the first group of user identifiers indicated by the first data includes the second user identifier.

14. A system for controlling transmission of data over a data network, the system comprising:

one or more processors; and

a memory configured to store computer-executable instructions which, when executed by the one or more processors, cause the system to control transmission of data by:

receiving, at a transmission control component of a client system, first data associated with a first data package to be sent over the data network, the first data being indicative of a first user identifier corresponding to a sender of the first data package and a first group of user identifiers corresponding to a plurality of proposed recipients of the first data package;

identifying, at the transmission control component, a second group of user identifiers comprising the first user identifier, the second group of user identifiers being associated with a second data package previously transmitted over the data network;

determining, at an update service of a server system, a group score for the second group of user identifiers based on a similarity measure, wherein the similarity measure is indicative of a degree of overlap between the first group of user identifiers and the second group of user identifiers;

determining, at the update service, a user score for a second user identifier in the second group of user identifiers based on the group score, access data indicative of a time at which the second user accessed a payload associated with the second data package, and an access decayy function which is a funcction of a time that has elapsed since the time at which the second user accessed the payload associated with the second data package; and

generating, at the update service and based on the user score, second data indicating a change to the first group of user identifiers;

wherein:

either the determining a group score or the determining a user score is further based on transmission data indicating a time at which the second package was transmitted; and

the second data is generated to indicate that the second user identifier should be removed from the first group of user identifiers when the user score satisfies a first condition and the first group of user identifiers indicated by the first data includes the second user identifier.

15. The system of claim 14 , wherein the second group of user identifiers is associated with a third data package previously transmitted over the data network, the computer-executable instructions, when executed by the one or more processors, cause the system to control data transmission by:

updating, at the update service, the group score for the second group of user identifiers based on the similarity measure and transmission data indicating a time at which the third data package was transmitted.

16. The system of claim 14 , wherein the second group of user identifiers is identified from a data structure storing historical package data associated with a plurality of data packages previously transmitted over the data network.

17. The system of claim 14 , wherein the group score for the second group of user identifiers is updated based on a transmission decay function which is a function of the time that has elapsed since the time at which the second data package was transmitted.

18. The system of claim 14 , wherein the payload associated with the second data package is an encrypted payload and the time indicated by the time at which the second user accessed the encrypted payload associated with the second data package corresponds to the time of receipt of a request from the second user to access the encrypted payload.

Assignments (6)
RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL RECORDED AT REEL/FRAME: 068728/0719 Recorded Jul 28, 2025
From: BLUE OWL CREDIT INCOME CORP.
To: EGRESS SOFTWARE TECHNOLOGIES IP LIMITED
Reel/Frame 072108/0083 →
SECURITY INTEREST Recorded Sep 27, 2024
From: EGRESS SOFTWARE TECHNOLOGIES IP LIMITED
To: BLUE OWL CREDIT INCOME CORP., AS COLLATERAL AGENT
Reel/Frame 068728/0719 →
RELEASE OF SECURITY INTEREST Recorded Jul 2, 2024
From: CANADIAN IMPERIAL BANK OF COMMERCE
To: EGRESS SOFTWARE TECHNOLOGIES IP LIMITED
Reel/Frame 067893/0232 →
SECURITY INTEREST Recorded Jun 9, 2021
From: EGRESS SOFTWARE TECHNOLOGIES IP LIMITED
To: CANADIAN IMPERIAL BANK OF COMMERCE
Reel/Frame 056483/0472 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 11, 2020
From: GOODYEAR, JOHN; PEPPER, TONY; LARKINS, NEIL; MACINNES, IAN ANGUS
To: EGRESS SOFTWARE TECHNOLOGIES, LTD.
Reel/Frame 054334/0448 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 22, 2019
From: EGRESS SOFTWARE TECHNOLOGIES LIMITED
To: EGRESS SOFTWARE TECHNOLOGIES IP LIMITED
Reel/Frame 049260/0667 →
Priority Claims (1)
GB 1618239.6 · Oct 28, 2016 · national
Continuity (2)
Continuation PCTGB2017053250 · Oct 27, 2017
Related Publication 20190253510A1 · Aug 15, 2019