Method and apparatus for processing discrete billing events
First Claim
1. A symmetrical multiprocessing system for processing a batch of discrete events, said discrete events comprising a plurality of independent sub-events, said system comprising:
- a first receiving means for receiving and storing transaction data until a desired processing time;
a second receiving means for receiving and storing customer information into a first database until the desired processing time;
means for indicating the desired processing time;
relational database means, responsive to the means for indicating, for receiving the transaction data from the first receiving means, for relationally downloading customer information from the first database and for generating a second database comprising said batch of discrete events to be processed at the desired processing time;
distributing means for distributing each discrete event into one of a plurality of segments, each segment comprising a sequence of at least one discrete event to be processed;
a plurality of symmetrical multi-tasking processors for processing said segments, each of said discrete events within a single segment being sequentially processed and each independent sub-event within a single discrete event being sequentially processed;
initiating means for initiating each of said plurality of segments generated by said distribution means on said symmetrical multi-tasking processors;
first shared memory means accessible by each of said plurality of symmetrical multi-taking processors for storing a control program for controlling the operation of said plurality of symmetrical multi-tasking processors, wherein said segments are distributed among the plurality of symmetrical multi-tasking processors; and
second shared memory means communicating with each of said plurality of symmetrical multi-tasking processors for storing each processed discrete event.
5 Assignments
0 Petitions
Accused Products
Abstract
A system for processing a batch which is distributed into a plurality of independent segments. A preferred embodiment of this invention calls for implementation on a symmetrical multiprocessing platform, however, the invention is also applicable to massively parallel architectures as well as uniprocessor environments. Each segment comprises a plurality of discrete events, each discrete event comprising a plurality of sub-events to be processed. The system operates to process each discrete event within each segment sequentially and each sub-event within each discrete event sequentially. The plurality of segments may be processed on an uniprocessor, an SMP system or an MPP system. By balancing the number of discrete events in each segment using a "coarse grain" approach, a flexible but efficient use of processor availability is obtained.
178 Citations
15 Claims
-
1. A symmetrical multiprocessing system for processing a batch of discrete events, said discrete events comprising a plurality of independent sub-events, said system comprising:
-
a first receiving means for receiving and storing transaction data until a desired processing time; a second receiving means for receiving and storing customer information into a first database until the desired processing time; means for indicating the desired processing time; relational database means, responsive to the means for indicating, for receiving the transaction data from the first receiving means, for relationally downloading customer information from the first database and for generating a second database comprising said batch of discrete events to be processed at the desired processing time; distributing means for distributing each discrete event into one of a plurality of segments, each segment comprising a sequence of at least one discrete event to be processed; a plurality of symmetrical multi-tasking processors for processing said segments, each of said discrete events within a single segment being sequentially processed and each independent sub-event within a single discrete event being sequentially processed; initiating means for initiating each of said plurality of segments generated by said distribution means on said symmetrical multi-tasking processors; first shared memory means accessible by each of said plurality of symmetrical multi-taking processors for storing a control program for controlling the operation of said plurality of symmetrical multi-tasking processors, wherein said segments are distributed among the plurality of symmetrical multi-tasking processors; and second shared memory means communicating with each of said plurality of symmetrical multi-tasking processors for storing each processed discrete event. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method of processing a batch of discrete events on a symmetrical multiprocessing system, said discrete events comprising a plurality of independent sub-events, said method comprising the steps of:
-
receiving and storing transaction data in a first memory until a desired processing time; receiving and storing customer information into a first relational database until the desired processing time; indicating the desired processing time; upon receiving indication of the desired processing time, receiving said transaction data from the first memory, relationally downloading said customer information from the first relational database and generating a second relational database, the second relational database comprising said batch of discrete events; distributing each discrete event into one of a plurality of segments, each segment comprising a sequence of at least one discrete event to be processed; initiating each of said plurality of segments on one of a plurality of symmetrical multi-tasking processors; concurrently processing said segments on said plurality of symmetrical multi-tasking processors, each of said discrete events contained within a segment being sequentially processed and each independent sub-event contained within each discrete event being sequentially processed; controlling said plurality of symmetrical multi-tasking processors, wherein said segments are periodically redistributed among the plurality of symmetrical multi-tasking processors; and storing each processed discrete event from each of the symmetrical multi-tasking processors. - View Dependent Claims (10, 11, 12, 13, 14)
-
-
15. A symmetric multiprocessing computer system for processing a customer billing and invoicing job comprising:
-
a first receiving means for receiving and storing transaction data until a desired processing time; a second receiving means for receiving and storing customer information into a first database until the desired processing time; means for indicating the desired processing time; relational database means, responsive to the means for indicating, for receiving the transaction data from the first receiving means, for relationally downloading customer information from the first database and for generating a second database comprising said batch of discrete events to be processed at the desired processing time; a plurality of processors each of said processors sharing a single copy of an operating system, each of said processors executing a single process at any one time, and each of said processors having read and write access to at least one common memory; at least one disk drive device communicating with a system bus through at least one I/O controller, said system bus further communicating with each of said plurality of processors and said at least one common memory; run queue means coupled to said processors for storing a sequential list of segments to be processed; process creation means operating on at least one of said processors for initiating new processes, each of said processes corresponding to a single segment of said billing and invoicing job; distributing means for distributing a plurality of discrete events into one of said plurality of segments; each of said processors processing each sub-event for a single discrete event prior to processing any of the sub-events for the sequentially next discrete event.
-
Specification