IP Library Granted Patent US 12,670,040
Granted Patent B2
US 12,670,040 · App. 18/077,518 · Granted Jun 30, 2026

Analyzing user activity with respect to a composite object

Inventors: Evan J. Story (Chicago, IL); Morgan L. Trinkaus (Barrington Hills, IL); Jay A. Biondo (Western Springs, IL)
Assignee: Trading Technologies International, Inc.
G06F9/542G06F11/30G06F11/3065G06F11/3072G06F11/34G06F11/3438G06F11/3495G06Q30/0203H04L67/50H04L67/535
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,670,040
App. No.
18/077,518
Filed
Dec 8, 2022
Granted
Jun 30, 2026
Kind
B2
Art Unit
2196
USPC
719/318
Abstract

Techniques for analyzing user activity relating to composite objects including at least a first object and a second object are described. The first object and the second object may be objects with respect to which a user, for example, a user in a communications network, can take various actions. Disclosed embodiments allow user activity relating to multiple objects to be analyzed by treating multiple objects as a composite object and generating an analysis of the user activity with respect to the composite object. The results of the analysis may provide an indication of whether the user activity corresponds to a given type of behavior occurring with respect to the composite object. For example, the results may indicate whether the user activity corresponds to manipulation of a status of the composite object or of one or more of the objects included in the composite object.

Claims (53)

1 . A method including:

obtaining, by a computing device, a first set of event reports, wherein each event report in the first set of event reports represents a respective event occurring with respect to a first object, and a second set of event reports, wherein each event report in the second set of event reports represents a respective event occurring with respect to a second object different from the first object;

defining, by the computing device, a composite object including the first object and the second object;

generating, by the computing device and using the first set of event reports and the second set of event reports, a list of events occurring with respect to the composite object;

performing, by the computing device, a clustering process with respect to the events in the list of events to generate one or more clusters of events, wherein the clustering process includes generating the one or more clusters of events based on respective times of occurrence of the events, wherein a time interval between consecutive events in a particular cluster is not greater than a pre-determined time interval;

generating, by the computing device and using the one or more clusters of events, an analysis of user activity with respect to the composite object by performing an analysis process with respect to the events in the one or more clusters of events, wherein one or more features of the analysis process are based on a given type of the analysis of the user activity to be generated, wherein the analysis process with respect to the events in the one or more clusters of events includes performing a classification process to determine respective classifications of the one or more clusters of events, wherein a given classification of a given cluster of events is indicative of an estimation of whether the given cluster of events represents the given type of user activity; and

providing, by the computing device, notification to an alert server based on an alert configuration when the analysis of user activity with respect to the composite object indicates a particular behavior.

2 . The method of claim 1 , wherein:

the event reports in the first set of event reports and the event reports in the second set of event reports are indicative of respective times of occurrence of the events represented by the event reports in the first set of event reports and the event reports in the second set of event reports; and

the generating the list of events includes ordering the events based on the respective times of occurrence of the events.

3 . The method of claim 1 , wherein the classification process includes:

computing respective features of the one or more clusters of events; and

determining the respective classifications of the one or more clusters of events based on their respective features by use of a classification model.

4 . The method of claim 1 , wherein the clustering process is based on the given type of the analysis of the user activity to be generated, and wherein the analyzing the clusters includes analyzing the clusters based on the given type of the analysis of the user activity.

5 . The method of claim 1 , further including:

performing a selection process to select, from a plurality of sets of event reports including the first set of event reports and the second set of event reports, wherein the selection process includes:

performing a first analysis process with respect to the events represented by the event reports in the first set of event reports to generate a first analysis of user activity with respect to the first object, wherein the first analysis process includes performing a clustering process with respect to the events represented by the event reports in the first set of event reports to generate a first set of clusters of events;

performing a second analysis process with respect to the events represented by the event reports in the second set of event reports to generate a second analysis of user activity with respect to the second object, wherein the second analysis process includes performing a clustering process with respect to the events represented by the event reports in the second set of event reports to generate a second set of clusters of events; and

selecting, based on the first analysis and the second analysis, the first set of event reports and the second set of event reports, wherein the selecting of the first set of event reports and the second set of event reports is based on a comparison between one or more clusters of the first set of clusters and one or more clusters of the second set of second clusters, wherein the one or more clusters of the first set of clusters and the one or more clusters of the second set of clusters each span a respective time period, wherein the comparison between the one or more clusters of the first set of clusters and the one or more clusters of the second set of clusters includes a determination of whether a respective time period of the one or more clusters of the first set of clusters overlaps in time with a respective time period of the one or more clusters of the second set of clusters, wherein the comparison between the one or more clusters of the first set of clusters and the one or more clusters of the second set of clusters includes:

determining respective classifications of a given cluster of the first set of clusters and a given cluster of the second set of clusters which overlaps in time with the given cluster of the first set of clusters; and

determining if the respective classification of at least one of the overlapping clusters satisfies a pre-determined criterion.

6 . The method of claim 1 , wherein the events occurring with respect to the first object and the events occurring with respect to the second object are events occurring over a same pre-determined elapsed period.

7 . The method of claim 6 , wherein the pre-determined elapsed period is a period of fixed length or a period of a user activity session.

8 . The method of claim 1 , wherein the analysis of the user activity with respect to the composite object includes an indication of an estimation of whether the user activity corresponds to the particular behavior.

9 . The method of claim 1 , wherein the first object and the second object are respective first and second tradable objects, and wherein the events represented by the event reports in the first set of event reports relate to orders on the first tradable object and the events represented by the event reports in the second set of event reports relate to orders on the second tradable object.

10 . The method of claim 9 , wherein the particular behavior includes market manipulation behavior, such as spoofing, front-running or momentum ignition.

11 . A non-transitory computer readable medium having stored therein instructions executable by a processor, wherein the instructions are executable to:

obtain a first set of event reports, wherein each event report in the first set of event reports represents a respective event occurring with respect to a first object, and a second set of event reports, wherein each event report in the second set of event reports represents a respective event occurring with respect to a second object different from the first object;

define a composite object including the first object and the second object;

generate, using the first set of event reports and the second set of event reports, a list of events occurring with respect to the composite object;

perform a clustering process with respect to the events in the list of events to generate one or more clusters of events, wherein the clustering process includes generating the one or more clusters of events based on respective times of occurrence of the events, wherein a time interval between consecutive events in a particular cluster is not greater than a pre-determined time interval;

generate, using the one or more clusters of events, an analysis of user activity with respect to the composite object by performing an analysis process with respect to the events in the one or more clusters of events, wherein one or more features of the analysis process are based on a given type of the analysis of the user activity to be generated, wherein the analysis process with respect to the events in the one or more clusters of events includes performing a classification process to determine respective classifications of the one or more clusters of events, wherein a given classification of a given cluster of events is indicative of an estimation of whether the given cluster of events represents the given type of user activity; and

provide notification to an alert server based on an alert configuration when the analysis of user activity with respect to the composite object indicates a particular behavior.

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

the event reports in the first set of event reports and the event reports in the second set of event reports are indicative of respective times of occurrence of the events represented by the event reports in the first set of event reports and the event reports in the second set of event reports; and

the generating the list of events includes ordering the events based on the respective times of occurrence of the events.

13 . The non-transitory computer readable medium of claim 11 , wherein the clustering process is based on the given type of the analysis of the user activity to be generated, and wherein the analyzing the clusters includes analyzing the clusters based on the given type of the analysis of the user activity.

14 . The non-transitory computer readable medium of claim 11 , wherein the events occurring with respect to the first object and the events occurring with respect to the second object are events occurring over a same pre-determined elapsed period.

15 . The non-transitory computer readable medium of claim 11 , wherein the analysis of the user activity with respect to the composite object includes an indication of an estimation of whether the user activity corresponds to the particular behavior.

16 . A system including:

a computing device, wherein the computing device is configured to:

obtain a first set of event reports, wherein each event report in the first set of event reports represents a respective event occurring with respect to a first object, and a second set of event reports, wherein each event report in the second set of event reports represents a respective event occurring with respect to a second object different from the first object;

define a composite object including the first object and the second object;

generate, using the first set of event reports and the second set of event reports, a list of events occurring with respect to the composite object;

perform a clustering process with respect to the events in the list of events to generate one or more clusters of events, wherein the clustering process includes generating the one or more clusters of events based on respective times of occurrence of the events, wherein a time interval between consecutive events in a particular cluster is not greater than a pre-determined time interval;

generate, using the one or more clusters of events, an analysis of user activity with respect to the composite object by performing an analysis process with respect to the events in the one or more clusters of events, wherein one or more features of the analysis process are based on a given type of the analysis of the user activity to be generated, wherein the analysis process with respect to the events in the one or more clusters of events includes performing a classification process to determine respective classifications of the one or more clusters of events, wherein a given classification of a given cluster of events is indicative of an estimation of whether the given cluster of events represents the given type of user activity; and

provide notification to an alert server based on an alert configuration when the analysis of user activity with respect to the composite object indicates a particular behavior.

17 . The system of claim 16 , wherein:

the event reports in the first set of event reports and the event reports in the second set of event reports are indicative of respective times of occurrence of the events represented by the event reports in the first set of event reports and the event reports in the second set of event reports; and

the generating the list of events includes ordering the events based on the respective times of occurrence of the events.

18 . The system of claim 16 , wherein the clustering process is based on the given type of the analysis of the user activity to be generated, and wherein the analyzing the clusters includes analyzing the clusters based on the given type of the analysis of the user activity.

19 . The system of claim 16 , wherein the events occurring with respect to the first object and the events occurring with respect to the second object are events occurring over a same pre-determined elapsed period.

20 . The system of claim 16 , wherein the analysis of the user activity with respect to the composite object includes an indication of an estimation of whether the user activity corresponds to the particular behavior.

Assignments (4)
SECURITY INTEREST Recorded Nov 7, 2025
From: TRADING TECHNOLOGIES INTERNATIONAL, INC.
To: HPS INVESTMENT PARTNERS, LLC, AS COLLATERAL AGENT
Reel/Frame 073510/0758 →
RELEASE OF SECURITY INTEREST Recorded Nov 5, 2025
From: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
To: TRADING TECHNOLOGIES INTERNATIONAL, INC.
Reel/Frame 073470/0597 →
SECURITY INTEREST Recorded May 3, 2024
From: TRADING TECHNOLOGIES INTERNATIONAL, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 067310/0496 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 8, 2022
From: STORY, EVAN J.; TRINKAUS, MORGAN L.; BIONDO, JAY A.
To: TRADING TECHNOLOGIES INTERNATIONAL, INC.
Reel/Frame 062026/0594 →
Continuity (1)
Related Publication 20240193013A1 · Jun 13, 2024
References Cited (40)
US 6314089B1 · Szlam · 2001 [cited by examiner]
US 20020019945A1 · Houston · 2002 [cited by examiner]
US 20040098485A1 · Larson et al. · 2004 [cited by applicant]
US 20050055399A1 · Savchuk · 2005 [cited by applicant]
US 20050183143A1 · Anderholm et al. · 2005 [cited by applicant]
US 20100082800A1 · Wei et al. · 2010 [cited by applicant]
US 20100293267A1 · Ribak et al. · 2010 [cited by applicant]
US 20120254333A1 · Chandramouli et al. · 2012 [cited by applicant]
US 20130097246A1 · Zifroni et al. · 2013 [cited by applicant]
US 20150033305A1 · Shear et al. · 2015 [cited by applicant]
US 20150081505A1 · Co et al. · 2015 [cited by applicant]
US 20150244732A1 · Golshan · 2015 [cited by examiner]
US 20170004576A1 · Cicero et al. · 2017 [cited by applicant]
US 20170255347A1 · Zawadzki · 2017 [cited by examiner]
US 20170286191A1 · Israeli · 2017 [cited by examiner]
US 20190121811A1 · Cherukuri · 2019 [cited by applicant]
US 20210256084A1 · Marsh et al. · 2021 [cited by applicant]
US 20220116415A1 · Burgis · 2022 [cited by examiner]
International Search Report and Written Opinioni for PCT Application No. PCT/US23/82728, mailed Mar. 13, 2024. [cited by applicant]
Biondo, J., and Trinkaus, M. “Make Surveillance Smarter and Eliminate Blind Spots with TT Score,” Trade Talk Blog, Trading Technologies, Jan. 18, 2018, retrieved from the Internet at: https://www.tradingtechnologies.com… [cited by applicant]
Biondo, J., and Trinkaus, M. “Supercharge Your Spoofing Surveillance with TT Score,” Trade Talk Blog, Trading Technologies, Feb. 14, 2018, retrieved from the Internet at: https://www.tradingtechnologies.com/blog/2018/02… [cited by applicant]
Cao, Y., Detecting Price Manipulation in the Financial Market, Mar. 28, 2014 Computational Intelligence for Financial Engineering & Economics (CIFEr), 2014 IEEE. [cited by applicant]
Complaint of U.S. Commodity Futures Trading Commission in Case 1:15-cv-09196, filed Oct. 19, 2015. [cited by applicant]
Complaint of U.S. Commodity Futures Trading Commission in Case 1:15-cv-09196, Exhibit A, filed Oct. 19, 2015. [cited by applicant]
Crichlow, ‘An Introduction to Distributed and Parallel Computing’, Prentice Hall, 1988. [cited by applicant]
Irisium Market Surveillance, Cinnober, retrieved from the Internet on Apr. 23, 2018: https://www.cinnober.com/solutions/irisium-market-surveillance. [cited by applicant]
Li, Xiao-Li, and Liu, Bing, “Learning from Positive and Unlabeled Examples with Different Data Distributions,” Department of Computer Science, University of Illinois at Chicago. [cited by applicant]
Liu, et al. at the URL www.cs.uic.edu/-liub/NSF/PSC-IIS-0307239.html as “Learning from Positive and Unlabeled Examples” {see also Bing Liu, Yang Dai, Xiaoli Li, Wee Sun Lee and Philip Yu. “Building Text Classifiers Usin… [cited by applicant]
Liu, et al. “Building Text Classifiers Using Positive and Unlabeled Examples,” Department of Computer Science, University of Illinois at Chicago. [cited by applicant]
Russell, S., ‘Artificial Intelligence a Modern Approach’, Pearson Education, 2003. [cited by applicant]
Satran, R., “Spoofing or Just Fast Trading? Chicago Case Helps Unwrap Mystery,” Financial Regulatory Forum, Reuters, Nov. 19, 2015, retrieved from the Internet at: http://blogs.reuters.com/financial-regulatory-forum/201… [cited by applicant]
SMARTS Trade Surveillance System, Surveillance Solutions, NASDAQ, retrieved from the Internet on Apr. 23, 2018: http://business.nasdaq.com/market-tech/market-participants/SMARTS-trade-surveillance-sell-side. [cited by applicant]
Trade Surveillance Software System, Trillium Surveyor, retrieved from the Internet on Apr. 23, 2018: https://www.trim.com/surveyor/. [cited by applicant]
‘Fair Value Accounting and Financial Stability’: Enria 2004, Occasional Paper Series No. 1 3. [cited by applicant]
‘Microstructure-based manipulation: Strategic behavior and performance of spoofing traders’: Lee, 2013, Elsevier Journal of Financial Markets 16 (2013) 227 252. [cited by applicant]
‘Distributed Denial of Services Attack Protection System with Genetic Algorithms on Hadoop Cluster Computing Framework’: Mizukoshi, 2015, IEEE, 978-1-4799-7492. [cited by applicant]
Pandas User Guide, Merge, join, concatenate and compare, retrieved from the internet at <https://pandas.pydata.org/pandas-docs/dev/user_guide/merging.html#timeseries-friendly-merging>, retrieved on Dec. 7, 2022. [cited by applicant]
Pandas API reference, pandas.Interval.overlaps, retrieved from the internet at <https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Interval.overlaps.html>, retrieved on Dec. 7, 2022. [cited by applicant]
Wikipedia entry, Region growing, retrieved from the internet at <https://en.wikipedia.org/wiki/Region_growing>, retrieved on Dec. 7, 2022. [cited by applicant]
Tavakoli, et al., “Clustering Time Series Data through Autoencoder-based Deep Learning Models,” arXiv:2004.07296v1 [cs.LG], Apr. 11, 2020. [cited by applicant]