US 12,014,402 B2
Method and system for event-driven billing
Hari Sangaraju, Tampa, FL (US); and Srinivas Kasani, Tampa, FL (US)
Assigned to JPMORGAN CHASE BANK, N.A., New York, NY (US)
Filed by JPMorgan Chase Bank, N.A., New York, NY (US)
Filed on Oct. 7, 2020, as Appl. No. 17/065,068.
Prior Publication US 2022/0108364 A1, Apr. 7, 2022
Int. Cl. H04K 1/00 (2006.01); G06F 9/48 (2006.01); G06Q 10/109 (2023.01); G06Q 30/04 (2012.01); G06Q 40/02 (2023.01); G06Q 40/04 (2012.01); G06Q 40/12 (2023.01); H04L 9/00 (2022.01)
CPC G06Q 30/04 (2013.01) [G06F 9/4881 (2013.01); G06Q 10/109 (2013.01); G06Q 40/02 (2013.01); G06Q 40/04 (2013.01); G06Q 40/12 (2013.12)] 16 Claims
OG exemplary drawing
 
1. A method for customizing a timing of generating of at least one bill for at least one account based on an occurrence of at least one event of a predetermined type and periodic time intervals that are selected by at least one user, the method being implemented by at least one processor, the method comprising:
receiving, from the at least one user and by the at least one processor, first information relating to a schedule for generating the at least one bill for the at least one account, based on the occurrence of the at least one event of the predetermined type and the periodic time intervals that are selected by the at least one user;
extracting, from the first information, basing a bill-generating schedule on the occurrence of the at least one event of the predetermined type and the periodic time intervals, by the at least one processor, at least one criterion for determining the schedule for generating the at least one bill;
capturing, by a stream-processing software platform, a plurality of events, each of the plurality of events including an account number as a key;
partitioning and storing, by the at least one processor, the plurality of events in a plurality of first partitions based on the account number of each of the plurality of events, events associated with a same account number being stored in an event source table in a same partition, the processor being configured to scale the partitioning and the storing by increasing a number of the plurality of first partitions;
determining the bill-generating schedule based on the at least one criterion, based on the occurrence of the at least one event of the predetermined type and the periodic time intervals;
publishing, based on the bill-generating schedule, the plurality of events stored in at least one of the plurality of first partitions to corresponding ones of at least one of a plurality of second partitions, a number of the plurality of second partitions being same as the number of the plurality of first partitions to enable parallelism, the at least one of the plurality of first partitions being less than all of the plurality of first partitions; and
reading, in parallel and by a plurality of application servers and based on the bill-generating schedule, the account number associated with each of the at least one of the plurality of second partitions and generating the at least one bill for the at least one account based on the plurality of events published to the corresponding ones of the at least one of the plurality of second partitions.