IP Library › Granted Patent US 12,373,556
Granted Patent B2
US 12,373,556 · App. 17/983,687 · Granted Jul 29, 2025

Bot activity detection for email tracking

Inventors: Xiang Chen (San Jose, CA); Yifu Zheng (Foster City, CA); Viswanathan Swaminathan (Saratoga, CA); Sreekanth Reddy (Bangalore, IN); Saayan Mitra (San Jose, CA); Ritwik Sinha (Cupertino, CA); Niranjan Kumbi (Pleasanton, CA); Alan Lai (Sacramento, CA)
Assignee: Adobe Inc.
G06F21/554G06Q10/107G06Q30/0201G06Q30/0246G06F2221/034
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 12,373,556
App. No.
17/983,687
Granted
Jul 29, 2025
Kind
B2
Abstract

In some embodiments, techniques for identifying email events generated by bot activity are provided. For example, a process may involve applying bot detection patterns to identify bot activity among email response events.

Claims (57)

1. A method of processing email response events, the method comprising:

storing a sequence of email response events to a cache, wherein the cache is a least-recently-used (LRU) cache comprising a first hashmap; and

for each email response event among a plurality of the email response events of the sequence, performing a respective instance of a bot detection routine, the routine comprising:

evicting the email response event from the cache;

based on at least one of a lead identifier of the email response event or a campaign identifier of the email response event, querying the cache and a historical event cache to obtain a plurality of retrieved email response events, wherein each of the plurality of retrieved email response events has an activity type, wherein the historical event cache is an LRU cache comprising a second hashmap;

based on an activity type of the email response event and the activity types of the plurality of retrieved email response events, determining whether a bot detection rule is matched; and

storing the email response event to the historical event cache;

wherein, for each email response event of at least some of the plurality of the email response events, the determining whether a bot detection rule is matched includes storing a corresponding indication of bot activity detection for the email response event; and

wherein the method further comprises causing, based on the corresponding indications of bot activity detection, a user interface to display content relating to the plurality of the email response events of the sequence.

2. The method of claim 1 , wherein, for each of the respective instances of the bot detection routine, evicting the email response event from the cache comprises removing a LRU event from the cache, wherein the LRU event is the email response event.

3. The method of claim 1 , wherein, for each of the respective instances of the bot detection routine:

each of the plurality of retrieved email response events has a timestamp, the plurality of retrieved email response events having a plurality of timestamps, and

the determining whether a bot detection rule is matched is based on a timestamp of the email response event and the plurality of timestamps of the plurality of retrieved email response events.

4. The method of claim 1 , wherein the plurality of the email response events comprises a plurality of open events and a plurality of link-click events.

5. The method of claim 4 , wherein the sequence of email response events comprises a plurality of delivery events.

6. The method of claim 1 , wherein:

the historical event cache comprises a historical open event cache and a historical link-click event cache; and

for each of the respective instances of the bot detection routine, storing the email response event to the historical event cache comprises storing the email response event, according to the activity type of the email response event, to one among the historical open event cache or the historical link-click event cache.

7. The method of claim 6 , wherein:

the historical event cache further comprises a historical delivery event cache, and

querying the historical event cache comprises querying the historical delivery event cache, querying the historical open event cache, and querying the historical link-click event cache.

8. The method of claim 1 , wherein, for each of the respective instances of the bot detection routine, the routine further comprises, for each retrieved email response event among the plurality of retrieved email response events, returning the retrieved email response event to its respective cache as a most-recently-used entry.

9. The method of claim 1 , wherein, for each of the respective instances of the bot detection routine, determining whether a bot detection rule is matched comprises determining that timestamps of at least three click events among the email response event and the plurality of retrieved email response events are within three seconds of each other.

10. The method of claim 9 , wherein, for each of the respective instances of the bot detection routine, determining whether a bot detection rule is matched comprises determining that the email response event is a click event and that none among the plurality of retrieved email response events is an open event.

11. A non-transitory computer-readable medium having program code that is stored thereon, the program code executable by one or more processing devices for performing operations comprising:

storing a sequence of email response events to a cache, wherein the cache is a least-recently-used (LRU) cache comprising a first hashmap;

for each email response event among a plurality of the email response events of the sequence, performing a respective instance of a bot detection routine, the routine comprising:

evicting the email response event from the cache;

based on at least one of a lead identifier of the email response event or a campaign identifier of the email response event, querying the cache and a historical event cache to obtain a plurality of retrieved email response events, wherein each of the plurality of retrieved email response events has an activity type, wherein the historical event cache is an LRU cache comprising a second hashmap;

based on an activity type of the email response event and the activity types of the plurality of retrieved email response events, determining whether a bot detection rule is matched; and

storing the email response event to the historical event cache; and

wherein, for each email response event of at least some of the plurality of the email response events, the determining whether a bot detection rule is matched includes storing a corresponding indication of bot activity detection for the email response event.

12. The non-transitory computer-readable medium of claim 11 , wherein the operations further comprises causing, based on the corresponding indications of bot activity detection, a user interface to display content relating to the plurality of the email response events of the sequence.

13. The non-transitory computer-readable medium of claim 11 , wherein, for each of the respective instances of the bot detection routine, evicting the email response event from the cache comprises removing an event from the cache in a first-in-first-out manner, wherein the removed event is the email response event.

14. The non-transitory computer-readable medium of claim 11 , wherein, for each of the respective instances of the bot detection routine:

each of the plurality of retrieved email response events has a timestamp, the plurality of retrieved email response events having a plurality of timestamps, and

the determining whether a bot detection rule is matched is based on a timestamp of the email response event and the plurality of timestamps of the plurality of retrieved email response events.

15. The non-transitory computer-readable medium of claim 11 , wherein:

the plurality of the email response events comprises a plurality of open events and a plurality of link-click events, and

the sequence of email response events comprises a plurality of delivery events.

16. A system comprising:

a future event cache configured to store a sequence of email response events; and

a rule-matching module configured to perform, for each email response event among a plurality of the email response events of the sequence, a respective instance of a bot detection routine, the routine comprising:

evicting the email response event from the future event cache, wherein the future event cache is a least-recently-used (LRU) cache comprising a first hashmap;

based on at least one of a lead identifier of the email response event or a campaign identifier of the email response event, querying the future event cache and a historical event cache to obtain a plurality of retrieved email response events, wherein each of the plurality of retrieved email response events has an activity type;

based on an activity type of the email response event and the activity types of the plurality of retrieved email response events, determining whether a bot detection rule is matched; and

storing the email response event to the historical event cache, wherein the historical event cache is an LRU cache comprising a second hashmap;

wherein, for each email response event of at least some of the plurality of the email response events, the determining whether a bot detection rule is matched includes storing a corresponding indication of bot activity detection for the email response event; and

wherein the system further comprises an interface-modification server configured to cause, based on the corresponding indications of bot activity detection, a user interface to display content relating to the plurality of the email response events of the sequence.

17. The system of claim 16 , wherein:

the historical event cache comprises a historical open event cache and a historical link-click event cache; and

for each of the respective instances of the bot detection routine, storing the email response event to the historical event cache comprises storing the email response event, according to the activity type of the email response event, to one among the historical open event cache or the historical link-click event cache.

18. The system of claim 17 , wherein:

the historical event cache further comprises a historical delivery event cache, and

querying the historical event cache comprises querying the historical delivery event cache, querying the historical open event cache, and querying the historical link-click event cache.

19. The system of claim 16 , wherein, for each of the respective instances of the bot detection routine, determining whether a bot detection rule is matched comprises determining that timestamps of at least three click events among the email response event and the plurality of retrieved email response events are within three seconds of each other.

20. The system of claim 19 , wherein, for each of the respective instances of the bot detection routine, determining whether a bot detection rule is matched comprises determining that the email response event is a click event and that none among the plurality of retrieved email response events is an open event.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2022
From: CHEN, XIANG; ZHENG, YIFU; SWAMINATHAN, VISWANATHAN; REDDY, SREEKANTH; MITRA, SAAYAN; SINHA, RITWIK; KUMBI, NIRANJAN; LAI, ALAN
To: ADOBE INC.
Reel/Frame 061707/0079 →
Continuity (1)
Related Publication 20240152605A1 · May 9, 2024
References Cited (22)
US 7970848B2 · Lin et al. · 2011 [cited by applicant]
US 8370437B2 · Duffek et al. · 2013 [cited by applicant]
US 10938770B2 · Chuhadar et al. · 2021 [cited by applicant]
US 11444905B1 · Murayama · 2022 [cited by examiner]
US 20130117081A1 · Wilkins · 2013 [cited by examiner]
US 20160140627A1 · Moreau et al. · 2016 [cited by applicant]
US 20170017971A1 · Moreau et al. · 2017 [cited by applicant]
US 20170345003A1 · Spears · 2017 [cited by examiner]
US 20200387819A1 · Rogynskyy · 2020 [cited by examiner]
Michael Walfish, J.D. Zamfirescu, Hari Balakrishnan, David Karger, and Scott Shenker, Distributed Quota Enforcement for Spam Control, May 9, 2006, NSDI, 3rd Symposium on Networked Systems Design & Implementation (Year: … [cited by examiner]
Honeypot (Computing), Available Online at: https://en.wikipedia.org/wiki/Honeypot_(computing), Dec. 2, 2022, 7 pages. [cited by applicant]
IAB/ABC International Spiders and Bots List, Available Online at: https://www.iab.com/guidelines/iab-abc-international-spiders-bots-list/, 2016, 3 pages. [cited by applicant]
ReCAPTCHA v3, Available Online at: https://developers.google.com/recaptcha/docs/v3, Aug. 8, 2022, 4 pages. [cited by applicant]
Ahn et al., CAPTCHA: Using Hard AI Problems for Security, Proceedings of the 22nd International Conference on Theory and Applications of Cryptographic Techniques, 2003, 18 pages. [cited by applicant]
Bomhardt et al., Web Robot Detection—Preprocessing Web Logfiles for Robot Detection, New Developments in Classification and Data Analysis, 2005, pp. 113-124. [cited by applicant]
Dhamnani et al., Botcha: Detecting Malicious Non-Human Traffic in the Wild, Available Online at: https://ceur-ws.org/Vol-2758/OHARS-paper4.pdf, 2020, pp. 51-59. [cited by applicant]
Duskin et al., Distinguishing Humans from Robots in Web Search Logs: Preliminary Results Using Query Rates and Intervals, Proceedings of the 2009 workshop on Web Search Click Data, Feb. 2009, 5 pages. [cited by applicant]
Guo et al., Web Robot Detection Techniques Based on Statistics of Their Requested URL Resources, Proceedings of the Ninth International Conference on Computer Supported Cooperative Work in Design, May 24-26, 2005, pp. 1… [cited by applicant]
Kabe et al., Determining WWW User Agents from Server Access Log, Proceedings Seventh International Conference on Parallel and Distributed Systems: Workshops, Jul. 4-7, 2000, pp. 1-2. [cited by applicant]
Lu et al., Web Robot Detection Based on Hidden Markov Model, International Conference on Communications, Circuits and Systems, Jun. 25-28, 2006, pp. 1-3. [cited by applicant]
Tan et al., Discovery of Web Robot Sessions Based on Their Navigational Patterns, Data Mining and Knowledge Discovery, vol. 6, No. 1, Jan. 2002, pp. 9-35. [cited by applicant]
Adobe, Filtering Email Bot Activity, Available Online at: https://experienceleague.adobe.com/docs/marketo/using/product-docs/administration/email-setup/filtering-email-bot-activity.html?lang=en, Jul. 13, 2022, 3 pages. [cited by applicant]