IP Library Granted Patent US 12,488,392
Granted Patent B2
US 12,488,392 · App. 18/512,189 · Granted Dec 2, 2025

Data processing method, system, and non-transitory computer-readable medium

Inventors: Bengt Lejdstrom (Sollentuna, SE); Oskar Sander (Stockholm, SE); Johan Soderqvist (Nacka, SE)
Assignee: Nasdaq Technology AB
G06Q40/04
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,488,392
App. No.
18/512,189
Granted
Dec 2, 2025
Kind
B2
Abstract

Example embodiments of a data processing method, system, and non-transitory computer-readable medium are described.

Claims (63)

1 . A computer system comprising:

memory and data processing circuitry configured for processing data transaction records relating to executed data transactions, each executed data transaction having a corresponding entity identifier and a corresponding transaction requirement, the processing including:

receiving one or more entity data records corresponding to at least some of the executed data transactions;

generating a list of entity groups, each entity group in the list including a corresponding transaction requirement for each entity of at least some of the entities in the entity group;

determining a corresponding constraint for each entity for each entity group in the list;

performing an iterative process to obtain a maximum aggregation value for a working set of the entity groups in the list, the iterative process including a plurality of iterations, wherein each one of the plurality of iterations includes:

(a) obtaining an aggregation value for the working set,

wherein at least a first iteration in the plurality of iterations includes:

(b) determining that the obtained aggregation value satisfies corresponding constraints for the entities in the working set,

(c) determining that the obtained aggregation value is greater than the maximum aggregation value, and

(d) based on (b) and (c), assigning the obtained aggregation value as the maximum aggregation value for the working set and storing the maximum aggregation value for the working set in memory; wherein at least a second iteration, which is different from the first iteration in the plurality of iterations, includes:

(e) determining that the obtained aggregation value violates one or more of the corresponding constraints for the entities in the working set, and

(f) based on (e), modifying which groups are included in the working set for a subsequent iteration in the plurality of iterations; and

(g) wherein after completion of the iterative process including (a)-(f), performing, by the computer system, one or more computer processes to fulfill the transaction requirements for the working set having the maximum aggregation value obtained from the plurality of iterations that satisfies the one or more constraints for the entities in the working set.

2 . The computer system in claim 1 , wherein the data processing circuitry is configured to perform the modifying by at least partly randomly assigning which groups are included in the working set.

3 . The computer system in claim 1 , wherein the data processing circuitry is configured to perform the modifying by at least partly randomly removing one or more groups from the working set.

4 . The computer system in claim 1 , wherein the data processing circuitry is configured to perform the modifying by at least partly randomly adding one or more groups to the working set.

5 . The computer system in claim 1 , wherein the data processing circuitry is configured to:

establish a net parameter for each entity group in the list of entity groups, where the net parameter may be assigned a first net value or a second net value, and

assign one of the first net value and the second net value to each entity group in the list of entity groups for at least the first iteration, where one or more groups assigned the first net value are included in the working set.

6 . The computer system in claim 5 , wherein the data processing circuitry is configured to at least partly randomly modify the first net value or the second net value assigned to each entity group in the list of entity groups.

7 . A method of processing data transaction records relating to executed data transactions by a computer system including data processing circuitry and memory coupled to the data processing circuitry, each executed data transaction having a corresponding entity identifier and a corresponding transaction requirement, the method comprising the steps of:

receiving, by the computer system, one or more entity data records corresponding to at least some of the executed data transactions;

generating, by the computer system, a list of groups of entities, each group in the list of groups of entities including a corresponding transaction requirement for each entity of at least some of the entities in the entity group;

determining, by the computer system, a corresponding constraint for each entity group in the list;

performing, by the computer system, an iterative process to obtain a maximum aggregation value for a working set of the entity groups in the list, the iterative process including a plurality of iterations, wherein each one of the plurality of iterations includes:

(a) obtaining an aggregation value for the working set,

wherein at least a first iteration in the plurality of iterations includes:

(b) determining that the obtained aggregation value satisfies the corresponding constraints for the entities in the working set,

(c) determining that the obtained aggregation value is greater than the maximum aggregation value, and

(d) based on (b) and (c), assigning the obtained aggregation value as the maximum aggregation value for the working set and storing the maximum aggregation value for the working set in memory; wherein at least a second iteration, which is different from the first iteration in the plurality of iterations, includes:

(e) determining that the obtained aggregation violates one or more of the corresponding constraints for the entities in the working set, and

(f) based on (e), modifying which groups are included in the working set for a subsequent iteration in the plurality of iterations; and

(g) wherein after completion of the iterative process including (a)-(f), performing, by the computer system, one or more computer processes to fulfill the transaction requirements for the working set having the maximum aggregation value obtained from the plurality of iterations that satisfies the one or more constraints for the entities in the working set.

8 . The method in claim 7 , wherein the modifying is performed by at least partly randomly assigning which groups are included in the working set.

9 . The method in claim 7 , wherein the modifying is performed by at least partly randomly removing one or more groups from the working set.

10 . The method in claim 7 , wherein the modifying is performed by at least partly randomly adding one or more groups to the working set.

11 . The method in claim 7 , further comprising:

establishing, by the computer system, a net parameter for each entity group in the list of entity groups, where the net parameter may be assigned a first net value or a second net value, and

assigning, by the computer system, one of the first net value and the second net value to each entity group in the list of entity groups for at least the first iteration, where one or more groups assigned the first net value are included in the working set.

12 . The method in claim 11 , further comprising:

at least partly randomly modifying, by the computer system, the first net value or the second net value assigned to each entity group in the list of entity groups.

13 . At least one non-transitory, computer-readable medium encoded with instructions that, when executed by one or more processors of a computer system, perform a method of processing data transaction records relating to executed data transactions by a computer system including data processing circuitry and memory coupled to the data processing circuitry, each executed data transaction having a corresponding entity identifier and a corresponding transaction requirement, the method comprising the steps of:

receiving, by the computer system, one or more entity data records corresponding to at least some of the executed data transactions;

generating, by the computer system, a list of groups of entities, each group in the list of groups of entities including a corresponding transaction requirement for each entity of at least some of the entities in the entity group;

determining, by the computer system, a corresponding constraint for each entity group in the list;

performing, by the computer system, an iterative process to obtain a maximum aggregation value for a working set of the entity groups in the list, the iterative process including a plurality of iterations, wherein each one of the plurality of iterations includes:

(a) obtaining an aggregation value for the working set,

wherein at least a first iteration in the plurality of iterations includes:

(b) determining that the obtained aggregation value satisfies the corresponding constraints for the entities in the working set,

(c) determining that the obtained aggregation value is greater than the maximum aggregation value, and

(d) based on (b) and (c), assigning the obtained aggregation value as the maximum aggregation value for the working set and storing the maximum aggregation value for the working set in memory;

wherein at least a second iteration, which is different from the first iteration in the plurality of iterations, includes:

(e) determining that the obtained aggregation violates one or more of the corresponding constraints for the entities in the working set, and

(f) based on (e), modifying which groups are included in the working set for a subsequent iteration in the plurality of iterations; and

(g) wherein after completion of the iterative process including (a)-(f), performing, by the computer system, one or more computer processes to fulfill the transaction requirements for the working set having the maximum aggregation value obtained from the plurality of iterations that satisfies the one or more constraints for the entities in the working set.

14 . The computer-readable medium of claim 13 , wherein the modifying is performed by at least partly randomly assigning which groups are included in the working set.

15 . The computer-readable medium of claim 13 , wherein the modifying is performed by at least partly randomly removing one or more groups from the working set.

16 . The computer-readable medium of claim 13 , wherein the modifying is performed by at least partly randomly adding one or more groups to the working set.

17 . The computer-readable medium of claim 13 , further encoded with instructions, that when executed by the one or more processors:

establish a net parameter for each entity group in the list of entity groups, where the net parameter may be assigned a first net value or a second net value, and

assign one of the first net value and the second net value to each entity group in the list of entity groups for at least the first iteration, where one or more groups assigned the first net value are included in the working set.

18 . The computer-readable medium of claim 17 , further encoded with instructions, that when executed by the one or more processors, at least partly randomly modify the first net value or the second net value assigned to each entity group in the list of entity groups.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 22, 2024
From: LEJDSTROM, BENGT; SANDER, OSKAR; SODERQVIST, JOHAN
To: OMX TECHNOLOGY AB
Reel/Frame 066525/0967 →
CHANGE OF NAME Recorded Feb 22, 2024
From: OMX TECHNOLOGY AB
To: NASDAQ TECHNOLOGY AB
Reel/Frame 066645/0374 →
Continuity (5)
Continuation 17554051 · Dec 17, 2021
Continuation 16395382 · Apr 26, 2019
Continuation 11724313 · Mar 15, 2007
Provisional Application 60789574 · Apr 6, 2006
Related Publication 20240087021A1 · Mar 14, 2024
References Cited (80)
US 5978780A · Watson · 1999 [cited by applicant]
US 5984779A · Bridgeman · 1999 [cited by examiner]
US 6076074A · Cotton et al. · 2000 [cited by applicant]
US 6247000B1 · Hawkins et al. · 2001 [cited by applicant]
US 6560501B1 · Walser · 2003 [cited by examiner]
US 7225153B2 · Lange · 2007 [cited by examiner]
US 7236952B1 · D'Zmura · 2007 [cited by examiner]
US 7343349B2 · Ranzini · 2008 [cited by examiner]
US 7376622B1 · Padalino et al. · 2008 [cited by applicant]
US 7472084B2 · Damschroder · 2008 [cited by examiner]
US 7523054B2 · Tyson-Quah · 2009 [cited by applicant]
US 7536354B1 · deGroeve et al. · 2009 [cited by applicant]
US 7660762B1 · Mellina · 2010 [cited by applicant]
US 7742972B2 · Lange · 2010 [cited by examiner]
US 7848997B2 · Lejdstrom et al. · 2010 [cited by applicant]
US 7996296B2 · Lange · 2011 [cited by examiner]
US 8126794B2 · Lange · 2012 [cited by examiner]
US 8332247B1 · Bailey · 2012 [cited by examiner]
US 8543478B2 · Leistner · 2013 [cited by examiner]
US 8577778B2 · Lange · 2013 [cited by examiner]
US 8589282B1 · Jackson · 2013 [cited by examiner]
US 8744937B2 · Seubert · 2014 [cited by examiner]
US 11210735B2 · Lejdstrom et al. · 2021 [cited by applicant]
US 11676210B2 · Srivastava · 2023 [cited by examiner]
US 20010049649A1 · Baecker et al. · 2001 [cited by applicant]
US 20020032642A1 · Chichilnisky · 2002 [cited by applicant]
US 20020087454A1 · Calo et al. · 2002 [cited by applicant]
US 20020099641A1 · Mills et al. · 2002 [cited by applicant]
US 20020133455A1 · Howorka et al. · 2002 [cited by applicant]
US 20020161561A1 · Sarma · 2002 [cited by examiner]
US 20020188552A1 · Kavounas et al. · 2002 [cited by applicant]
US 20020188560A1 · Kawashima et al. · 2002 [cited by applicant]
US 20030225681A1 · Cummings et al. · 2003 [cited by applicant]
US 20040098352A1 · Matsuyama · 2004 [cited by examiner]
US 20040128222A1 · Turbeville et al. · 2004 [cited by applicant]
US 20040128223A1 · Kuhn et al. · 2004 [cited by applicant]
US 20040148252A1 · Fleishman · 2004 [cited by applicant]
US 20040153403A1 · Sadre · 2004 [cited by applicant]
US 20050010613A1 · Lejdstrom et al. · 2005 [cited by applicant]
US 20050086165A1 · Pawelczyk et al. · 2005 [cited by applicant]
US 20050203836A1 · Woodward et al. · 2005 [cited by applicant]
US 20050222938A1 · Treacy et al. · 2005 [cited by applicant]
US 20050246251A1 · Feldhoffer et al. · 2005 [cited by applicant]
US 20060010060A1 · Jones · 2006 [cited by examiner]
US 20060074793A1 · Hibbert et al. · 2006 [cited by applicant]
US 20060095361A1 · Rude · 2006 [cited by applicant]
US 20060167784A1 · Hoffberg · 2006 [cited by applicant]
US 20060224494A1 · Pinkava · 2006 [cited by examiner]
US 20070078736A1 · Chand et al. · 2007 [cited by applicant]
US 20070118459A1 · Bauerschmidt · 2007 [cited by examiner]
US 20070118460A1 · Bauerschmidt · 2007 [cited by examiner]
US 20070136180A1 · Salomon · 2007 [cited by examiner]
US 20070250437A1 · Lejdstrom · 2007 [cited by examiner]
US 20080027774A1 · Jameson · 2008 [cited by examiner]
US 20080071664A1 · Silverman et al. · 2008 [cited by applicant]
US 20080270278A1 · Cummings et al. · 2008 [cited by applicant]
US 20120158612A1 · Robertson · 2012 [cited by examiner]
US 20250028583A1 · Nugent · 2025 [cited by examiner]
EP 1396803 · 2004 [cited by applicant]
Technology takes to securities trading IEEE (Year: 1997). [cited by examiner]
Screen-based trading in futures markets: recent developments and research propositions, IEEE (Year: 1999). [cited by examiner]
U.S. Appl. No. 17/554,051, filed Dec. 17, 2021, Lejdstrom et al. [cited by applicant]
U.S. Appl. No. 11/724,313, filed Mar. 15, 2007, Lejdstrom et al. [cited by applicant]
Office Action dated May 4, 2023 for U.S. Appl. No. 17/554,051, 15 pages. [cited by applicant]
PTAB Decision on Appeal issued Feb. 27, 2009 in U.S. Appl. No. 11/724,313, 20 pages. [cited by applicant]
Examiner's Answer issued Nov. 28, 2016 in U.S. Appl. No. 11/724,313, 23 pages. [cited by applicant]
Final Office Action issued Mar. 18, 2016 in U.S. Appl. No. 11/724,313, 15 pages. [cited by applicant]
Office Action issued Sep. 15, 2015 in U.S. Appl. No. 11/724,313, 16 pages. [cited by applicant]
Final Office Action issued Aug. 13, 2013 in U.S. Appl. No. 11/724,313, 31 pages. [cited by applicant]
Office Action issued Feb. 6, 2013 in U.S. Appl. No. 11/724,313, 14 pages. [cited by applicant]
Final Office Action issued Apr. 26, 2010 in U.S. Appl. No. 11/724,313, 20 pages. [cited by applicant]
Office Action issued Oct. 28, 2009, in U.S. Appl. No. 11/724,313, 16 pages. [cited by applicant]
Office Action issued Feb. 17, 2009, in U.S. Appl. No. 11/724,313, 12 pages. [cited by applicant]
Declaration of Non-Establishment of International Search Report mailed Jul. 3, 2007 in PCT/EP2007/053303 (2 pages). [cited by applicant]
Austrian Search Report and Written Opinion, mailed Aug. 5, 2009 in corresponding Singapore Application No. 200718776-8, 7 pages. [cited by applicant]
Search Report, Written Opinion for SG 200807168 mailed Mar. 5, 2009, 10 pages. [cited by applicant]
Declaration of Non-Establishment of International Search Report mailed Jun. 27, 2007 in corresponding PCT Application No. PCT/EP2007/053307, 2 pages. [cited by applicant]
D. Russo et al, European Central Bank Occasional Series Paper 076, Dec. 2007, 49 pages. [cited by applicant]
Wang et al, “Designing a Combinatorial Financial Options Market” (2021) (Year: 2021) Associaton for Computing Machinery, pp. 1-29. [cited by applicant]
Electronic Financial Markets (MIT) (Year: 1999), 58 pages. [cited by applicant]