IE970204A1 - A transaction processing system - Google Patents

A transaction processing system

Info

Publication number
IE970204A1
IE970204A1 IE970204A IE970204A IE970204A1 IE 970204 A1 IE970204 A1 IE 970204A1 IE 970204 A IE970204 A IE 970204A IE 970204 A IE970204 A IE 970204A IE 970204 A1 IE970204 A1 IE 970204A1
Authority
IE
Ireland
Prior art keywords
transaction
partner
signal
data
outgoing
Prior art date
Application number
IE970204A
Inventor
Patrick Clarke
George Burne
Hubert O'donoghue
Eoin Flood
Timothy O'sullivan
Francis O'rourke
David O'neill
John Mcguire
Christopher Meehan
Cyril Mcguire
Original Assignee
Trintech Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Trintech Ltd filed Critical Trintech Ltd
Priority to IE970204A priority Critical patent/IE970204A1/en
Publication of IE970204A1 publication Critical patent/IE970204A1/en

Links

Landscapes

  • Computer And Data Communications (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

A transaction processing system (1) communicates with point-of-sale terminals (8) via a communications sub-system (3) which performs communications and protocol routing, and a transaction logic sub-system (4) which performs transaction logic-based routing. Transaction signals are processed internally in the system on a processor (4(b)) or are routed to external processors (10). Message traffic is minimised by operation of incoming partners (20) and associated outgoing partners (23) writing data to a variable database (7(a)) and retrieving this data if required at a subsequent stage in the process. <Fig. 2>

Description

The invention relates to a transaction processing system, and more particularly to host or central processing of point-of-sale transaction in real-time in communication with point-of-sale terminals.
* - J 3. I 'Z . t In recent years, payment technology has been changing rapidly, with increasingly complex and more numerous types of cards being used. In contrast to the more traditional magnetic stripe cards which typically have less than 50 bytes of data, newer types of card with on-board chips result in communication and processing of considerably more data than has heretofore been the case. Such payment methods include smart cards, secure electronic transaction (SET), corporate purchase cards, off-line debit cards, electronic purse cards, etc.
¼ ’ Because of these developments, the transaction processing systems operated by card issuers must be capable of comfortably handling many simultaneous transactions in which the data size per transaction may be up to 1KB. ΙΗΪ Cl, 6 ύ-ι&Ε.
This must be achieved within a maximum response time of 30 seconds for external processing, or sub-second for internal processing.
Another requirement is that the transaction processing system be expandable in a modular manner to handle different levels of simultaneous transactions. A further requirement is that the system be easily modified for handling different transaction types.
Various developments have been made in this area of technology, including the apparatus described in US 4751374 (Omrom) which describes an improved method for iE n /ir ιι i/ι V I UZ.UHsummation of data and in US 4396624 (Visa) which describes an improved mechanism for memory management.
However, while there have been such developments in specific areas of transaction processing, there is need for a comprehensive and overall structure to cope at a technical level with the growing and changing demands of transaction processing.
According to the invention, there is provided a transaction processing system comprising:a communications sub-system comprising ports for communication with point-of-sale systems and communication handlers which comprise means for retransmitting signals according to communications criteria; communications validating the a transaction logic sub-system comprising incoming partners for receiving signals from the handlers and for automatically signals according to transaction logic, means for writing the signals in real time to a variable database and for transferring the signals to an associated outgoing partner within the transaction logic sub-system, each outgoing partner comprising means for generating a transaction processing signal; and a transaction processor comprising means for processing a transaction processing signal and generating an output signal which is routed to the originating point-of-sale terminal.
The use of the communication handlers, the incoming and outgoing partners, and the variable database in this way ιι ζι πιι/ι Z7 1 UZ.U4 - 3 breaks the processing down to separate communications and transaction logic-based elements. Thus, the system may be easily upgraded/expanded. Further, high simultaneous throughput may be easily controlled.
In one embodiment, each incoming partner comprises means for transmitting only a general section of the signal to the outgoing partner, and writing the balance of the data to the variable database. This minimises internal signal traffic and required processing capacity.
Preferably, each outgoing partner comprises means for monitoring contents of the received general signal according to transaction logic and means for appending variable fields retrieved from the variable database to the signal to generate a transaction processing signal. This allows a large degree of flexibility.
In one embodiment, each outgoing partner additionally comprises means for retrieving static data from a static database to generate the transaction processing signal. The data break-down between the variable and static databases allows fast data retrieval.
Preferably, each outgoing partner comprises means for transmitting a transaction processing signal to a remote host system for transaction processing according to transaction logic. This also provides excellent flexibility.
In one embodiment, data is stored in the database in a series of linked strings, each string having a set of data fields and an identifier for the next string in the chain, the first strings in the chain relating to more general information. This allows very fast data access in real time without sacrificing flexibility in data record size.
In one embodiment, components of the system reside on physically separate data processing hardware machines and signals are communicated between tasks on different machines via a message server which comprises means for reading a queue identifer and routing the signal to a queue associated with the receiving task. This provides excellent signal transfer control in a distributed environment.
Preferably, the system further comprises a status server which stores global data relating to all available tasks in the system and provides functions to access the global data. This allows universal dissemination of information across the system among all components - particularly important for a distributed environment.
In one embodiment, each machine of the system comprises a task server comprising means for controlling performance of tasks on its associated machine. Preferably, each task server comprises means for providing said message queue identifier. These features allow efficient real time task control.
Preferably, the system further comprises a monitor comprising means for transmitting messages to the status server and to the task servers from a user interface.
Ideally, said communication handlers are each directly linked to a particular port. This feature allows very fast communications routing.
In one embodiment, said transaction processor is also an outgoing partner. The system may have some dedicated transaction processors, all internal processing may be performed by the outgoing partners, or there may be a mix.
Preferably, said transaction processor comprises means for routing the output signal to the point-of-sale terminal via the outgoing partner, the incoming partner, the communications handler, and the associated port. By returning on the original path, the various nodes can immediately re-transmit using stored data and logic.
The invention will be more clearly understood from the following description of some embodiments thereof, given by way of example only, with reference to the accompanying drawings, in which:Fig. 1 is an overview representation showing a transaction processing system of the invention and the environment within which it operates; Fig. 2 is a block diagram illustrating the major components of the system; Fig. 3 is a diagram illustrating a primary routing section of the system; Fig. 4 is a diagram illustrating operation of a secondary routing section of the system; and Figs. 5 and 6 are diagrams illustrating the manner in which messages are routed and tracked within the system.
Referring to Fig. 1, there is shown a transaction processing system 1 of the invention. The system 1 comprises local and wide area network links 2 which interconnect communications machines 3 and a transaction handling machine 4. The machine 4 is connected to a database 7.
II— Π7ί»Ίί1/1 IQ Vf UZ.UM- 6 The links 2 which interconnect the different parts of the system 1 are based on a TCP IP Protocol, with an Ethernet™ hardware link. The network link may alternatively be of the FDDI or Token Ring types, for example.
The system 1 communicates in real-time with a large number of point-of-sale terminals 8 and also with external processors 10, 11 and 12. The terminals 8 may be single point-of-sale devices or point-of-sale systems handling many transactions.
The system 1 operates to communicate with the point-ofsale terminals 8 in real-time to receive transaction signals, either processes the transactions itself (onus), or directs the signals to an external system 10, 11 or 12 depending upon the particular requirements. The output is then routed back to the relevant point-of-sale terminal 8. All this takes place in real-time.
Referring now to Fig. 2, the logical structure of the system 1 is illustrated. The communication machines 3 form sub-systems which provide primary routing in a symmetrical manner, each end providing two-way communication via ports and communication devices such as modems .
The machine 4 provides secondary routing based on transaction logic, again in a symmetrical manner and acts as a buffer between the communication sub-systems 3 and a transaction processing sub-system 4(b) residing on the machine 4. The communication sub-systems 3 direct signals to the external processors 10 and also receive the results back for communication to the relevant point-of-sale terminals. Both the transaction logic routing and the transaction processing is carried out in conjunction with the database system 7, which has a variable database 7(a) iE 970204 and a static database 7(b). The variable database 7(a) stores data generated in real time and associated with particular transactions. On the other hand, the static database 7(b) stores data which is pre-set, such as a credit card limit or person's address.
Referring now to Fig. 3, construction of a communications sub-system 3 is illustrated. The router 3 has ports 15, up to several hundred in number. Each port is directly associated with a particular communications handler 18, to which it transmits every received signal. Received signals are thus immediately routed to a particular communications handler 18.
Each communications handler 18 is programmed to relay the received signal, without modifying it in any way, to a particular incoming partner on a transaction logic subsystem 4(a) after completing communication tests such as LRC checks .
There is a many-to-one relationship of communication handlers 18 to incoming partner for each major type of signal. In this case it is approximately four to one. The types of signal include authorisation requests and data/batch capture requests. The handlers 18 have sufficient intelligence to filter according to the signal type, without processing message contents.
Referring now to Fig. 4, operation of a transaction logic sub-system 4(a) is illustrated. For data capture the incoming partner 20 writes to the database 7. During real-time transaction processing an incoming partner 20 receives a full transaction signal 21 and validates it according to transaction-based logic. An important aspect of the incoming partner 20 is that it retrieves certain fields from the incoming signal and generates a generic - 8 signal 22 which it immediately transmits to an associated outgoing partner 23.
The fields 24 of data which are not transmitted to the outgoing partner 23 are written to the variable database 7(a) by the incoming partner 20.
The outgoing partner 23 reads the data fields within the generic signal 22 and determines according to transaction logic whether or not additional data is required for processing of the signal. Most often, such data is not required, however, if it is required, some or all of the variable data (indicated as 26) which was written to the variable database 7(a) is retrieved. In addition, the outgoing partner 23 receives data from the static database 7(b). This data includes additional data which can be retrieved by hooks in the message. An example is a category code for a merchant.
In this way, the outgoing partner 23 re-constitutes a signal 28 which is transmitted to a processor for processing of the transaction. The decision as to which processor processes the transaction is based on transaction logic. The processor may be internal to the system 1, namely in the sub-system 4(b) (possibly on a different hardware machine). The processor may alternatively be remote, in which case the transaction processing signal is routed through the other side of the system 1 to the external processor. In certain cases, the outgoing partner may perform the processing - giving more distributed internal processing and thus a higher throughput. This may require provision of multiple databases. Whichever element processes the transaction uses the static database to firstly authorise the transaction, and secondly to update data such as the credit limit. This data is indicated as S. it II Z I CJ I V On the return path, the output from the processor which processes the signal is routed through the outgoing partner 23, the incoming partner 20, the handler 18 and then back to the originating point-of-sale terminal via the relevant port 15.
The following sets out an example of the signals which are transmitted in the system 1.
The original signal 21 may include: ' The variable signal 24 which is written to the variable database 25 may be represented as: As shown in Fig. 4 next to the variable database 7(a), data is stored in the database system 7 in a chained arrangement in which there is an initial record having main data followed by an outgoing identifier. The main data may be regarded as the primary data for a record. The outgoing identifier is a chain link to a next sequence of fields which begins with the identifier, followed by specific data and one or more outgoing identifiers. Each of the outgoing identifiers links this sequence to a next sequence beginning with the identifer and followed by the data. Each of the individual strings is of a fixed length to provide simple database control. However, as is clear from this structure, the overall record is of indefinite length. Each sequence includes a merchant identifier, and a terminal identifier for easy retrieval and access. ΙΕΖ - 10 Referring now to Fig. 5, the manner in which signals or messages are communicated between the different components of the system 1 is now illustrated. In the example given, there is communication between a communication machine 3 and a transaction handling machine 4. The machine 3 has a number of communication handlers 18, an RPC message server 30 and an RPC task server 40. The machine 4 also has an RPC message server 30 and an RPC task server 40. The partners on the machine 4 are indicated generally by the numerals 20 and 23 and are implemented by software tasks, each having both an incoming partner and the associated outgoing partner. In this embodiment, the tasks illustrated are all incoming/outgoing partner pairs and all transaction processing of the system is performed by these tasks, unless performed remotely. However, the machine 4 may have tasks which only perform transaction processing upon receipt of signals from an outgoing partner. The function of the message server 30 in the machine 4 is to receive variable length messages from the communication handlers 18 and to route them to a specified local message queue, namely an incoming partner 20. Communication between a communication handler 18 and an incoming partner 20 is indirect, via the two message servers 30. The receiving message server uses a message queue identifier embedded in the signal by the client in order to direct the signal to the appropriate queue. The message server 30 does not need to know the contents of the message. The following is the structure of a message which is passed between a communications handler and a partner:int nMsgType; int nMsgQID; int nMsgLen; string cMsg; I b» Vi I I I / U 'l IL. --- 11 }; nMsgType is the type of the message being sent. nMsgQID is the ID of the message queue the remote procedure writes to. nMsgLen is the length of the message being sent. cMsg is the buffer being sent across and MBUFSIZE is the maximum size of the buffer.
In order for the client to determine the queue identifier to be inserted in the signal, it must pass to the task server the task identifer it wants to communicate with and the machine name that the task is running on. The task server 40 keeps information on all tasks and so returns the appropriate message queue identifier to the client. The client is then able to transmit the signal to the message server 30.
Referring now to Fig. 6, use of the task servers 40 is illustrated. The task server 40 is particularly effective at providing control in the distributed environment of the transaction processing system 1. The main messagehandling processes in the system include a status server 60, several task servers 40, a monitor 50, and a user interface 70 which transmits commands to the monitor 50. The other processes are the communications handlers 18 and the partners 20 and 23.
The status server 60 holds global data about all available tasks in the system 1 and provides functions to access this data. There is one task server 40 per hardware machine in the system 1. There is one monitor 70 in the system 1 and it transmits messages to the status server 60 and to the task servers 40. A user interacts with the system 1 through the interface 70, which in turn interacts with the monitor 50.
I I X I II v/ b V lb Vi f KL. I The status server 60 manages a static global array of shared memory which contains details about all the tasks in the system 1. Any communication with the status server 60 is performed through RPC function calls. The global memory array is read from or written to indirectly by any task on any machine by calling the status server's public RPC functions, or by the tasks themselves writing directly to the status server's shared memory. The size of the array is hard-coded to hold information about 300 task processes. This size cannot be changed at run-time. In summary, the status server 60:receives RPC messages from tasks, updates global shared memory as required, receives RPC messages from the monitor 50 and sends 15 it information about tasks as requested, and re-reads the task configuration file at regular intervals to add/update/remove tasks in the system 1.
It will be appreciated that the invention provides a system which operates very effectively to handle a large number of transaction signals simultaneously. This level of control is achieved by distributing the tasks between the communications handlers, the incoming partners, the outgoing partners, and the internal transaction processors (task processors). By directly linking communications handlers with ports there is a very fast protocol-based routing within the system. Further, by use of incoming and outgoing partners which use transaction logic to process the signals with reference to the variable and static databases, the size of the messages being handled is minimised and the signal may be processed very IL- Il Zf l'lfl Λ IL Zfl UZUH· - 13 efficiently. The processor which performs the transaction processing (either the outgoing partner, another internal processor or an external processor) is able to handle the signal very efficiently because of the manner in which the message is handled before it is received. The implementation of these processes on machines connected in a distributed manner is achieved very effectively by use of the task servers, the message servers, the status server and the monitor.
The invention is not limited to the embodiments described, but may be varied within the scope of the claims in construction and detail. it yruzuH

Claims (15)

1. A transaction processing system comprising:a communications sub-system comprising ports for communication with point-of-sale systems and communication handlers which comprise means for re-transmitting signals according to communications criteria; a transaction logic sub-system comprising incoming partners for receiving signals from the communications handlers and for automatically validating the signals according to transaction logic, means for writing the signals in real time to a variable database and for transferring the signals to an associated outgoing partner within the transaction logic sub-system, each outgoing partner comprising means for generating a transaction processing signal; and a transaction processor comprising means for processing a transaction processing signal and generating an output signal which is routed to the originating point-of-sale terminal.
2. A system as claimed in claim 1, wherein each incoming partner comprises means for transmitting only a general section of the signal to the outgoing partner, and writing the balance of the data to the variable database.
3. A system as claimed in claim 2, wherein each outgoing partner comprises means for monitoring contents of the received general signal according to transaction logic and means for appending variable fields 11_ n z* λ λ il y/UZU4 - 15 retrieved from the variable database to the signal to generate a transaction processing signal.
4. A system as claimed in claim 3, wherein each outgoing partner additionally comprises means for retrieving static data from a static database to generate the transaction processing signal.
5. A system as claimed in any preceding claim, wherein each outgoing partner comprises means for transmitting a transaction processing signal to a remote host system for transaction processing according to transaction logic.
6. A system as claimed in any preceding claim, wherein data is stored in the database in a series of linked strings, each string having a set of data fields and an identifier for the next string in the chain, the first strings in the chain relating to more general information.
7. A system as claimed in any preceding claim, wherein components of the system reside on physically separate data processing hardware machines and signals are communicated between tasks on different machines via a message server which comprises means for reading a queue identifer and routing the signal to a queue associated with the receiving task.
8. A system as claimed in any preceding claim, further comprising a status server which stores global data relating to all available tasks in the system and provides functions to access the global data.
9. A system as claimed in any preceding claim, wherein each machine of the system comprises a task server I I /1 IJ comprising means for controlling performance of tasks on its associated machine.
10. A system as claimed in any of claims 7 to 9, wherein each task server comprises means for providing said 5 message queue identifier.
11. A system as claimed in any preceding claim, further comprising a monitor comprising means for transmitting messages to the status server and to the task servers from a user interface. 10
12. A system as claimed in any preceding claim, wherein said communication handlers are each directly linked to a particular port.
13. A system as claimed in any preceding claim, wherein said transaction processor is also an outgoing 15 partner.
14. A system as claimed in any preceding claim, wherein said transaction processor comprises means for routing the output signal to the point-of-sale terminal via the outgoing partner, the incoming 20 partner, the communications handler, and the associated port.
15. A system substantially as described with reference to and as illustrated in the drawings.
IE970204A 1997-03-19 1997-03-19 A transaction processing system IE970204A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
IE970204A IE970204A1 (en) 1997-03-19 1997-03-19 A transaction processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
IE970204A IE970204A1 (en) 1997-03-19 1997-03-19 A transaction processing system

Publications (1)

Publication Number Publication Date
IE970204A1 true IE970204A1 (en) 1998-09-23

Family

ID=11041427

Family Applications (1)

Application Number Title Priority Date Filing Date
IE970204A IE970204A1 (en) 1997-03-19 1997-03-19 A transaction processing system

Country Status (1)

Country Link
IE (1) IE970204A1 (en)

Similar Documents

Publication Publication Date Title
CA2270112C (en) Fail-safe event driven transaction processing system and method
CA2270025C (en) Distributed on-line data communications system and method
US6981061B1 (en) Method and system for updating a data system in conjunction with synchronized clock modules
US7596623B2 (en) Configurable connector
US6052721A (en) System of automated teller machines and method of distributing software to a plurality of automated teller machines
US5960178A (en) Queue system and method for point-to-point message passing having a separate table for storing message state and identifier of processor assigned to process the message
US6850962B1 (en) File transfer system and method
CN113691511B (en) Service request processing method and device, equipment and medium thereof
US6745247B1 (en) Method and system for deploying smart card applications over data networks
EP0968479B1 (en) A transaction processing system
US5420981A (en) Arrangement for establishing a data pipeline in a data processing system employing multiple processors
IE970204A1 (en) A transaction processing system
IES73864B2 (en) A transaction processing system
WO1999013438A1 (en) Client system for ip network
EP1039719A2 (en) Method system for deploying smart card applications over data networks
IES970205A2 (en) A point-of-sale transaction processing system
JP3622467B2 (en) Message delivery management system and method, and information recording medium
IE970206A1 (en) A point-of-sale transaction processing system
KR20000009769A (en) Control device and method of monetary computer network
MXPA99003747A (en) Distributed on-line data communications system and method
JP2000215260A (en) Electronic money management server constituting method
GB2271652A (en) Efficient computer system processing operations
JP2005141356A (en) Device for managing excess at destination, and its method and program
JPH06301708A (en) Transaction information distributing device
JPH0478000A (en) Sales data transmission device

Legal Events

Date Code Title Description
MM9A Patent lapsed through non-payment of renewal fee