Database system

Abstract: A database system for maintaining accounting records in relation to usage of postage meters (10 1 ......10 n ) is disclosed. The database system is provided with two computers (13, 14), both of which provide access to the system from remote postage meters via a telephone network (11,12), and each computer maintains a separate database (15, 16). One computer (13) acts as primary and handles all transactions, received either direct or via the other secondary computer (14), and maintains a primary database (15). For each transaction, the primary computer creates an archived record in a buffer and periodically when the buffer is full sends an archive record to the secondary computer (14) for use by the secondary computer to update the secondary database (16). In addition for critical transactions such as a postage meter recredit transaction, the primary computer also creates a transaction log and sends it to the secondary computer for storing in a FILO buffer. The primary computer lastly authorises credit to the postage meter. In the event the archived record is not sent to the secondary computer due to a fault in the primary computer, the secondary computer utilises the transaction log to update the secondary database with critical accounting data.

Description: This invention relates to dual systems for maintaining a database of records and in particular to a database system for maintaining accounting records in respect of a plurality of postage meters which have a facility for communication with a central computer system. Communication between the central computer system and the meters is utilised for the purposes of recrediting of the meters from the central computer system and for transmitting accounting data from the meters to the central computer system. The central computer system maintains a database comprising records of accounting data in respect of each of the postage meters. In known postage meters, the meter includes electronic accounting circuits for carrying out accounting functions in relation to usage of the postage meter in carrying out franking operations in which mail items are franked with desired values of postage charge. In so-called pre-payment meters a value of credit is registered in a descending credit register and during each franking operation in which a mail item is franked, the accounting circuits carry out accounting functions in which inter alia the credit value registered in the credit register is decremented by the amount of the postage charge with which the mail item is franked. Periodically, when the value of credit registered in the credit register has been decremented to a low value, the postage meter is caused to communicate with a central computer system in a recrediting operation to enable further credit to be entered into the credit register of the postage meter to enable the meter to be used to perform further franking operations. As a part of the re-crediting operation, accounting data including the current value of credit in the descending credit register and accounting data registered in other registers of the meter is read from the registers of the meter and input to the central computer system. Previously it has been necessary for the meter to be physically transported to the postal authority to enable postal authority personnel to read accounting data registered in registers of the meter, to reset the credit register with a new value of credit and to enter the data read from the registers and the added value of credit into a postal authority computer system. However it is preferred to carry out the register reading and recrediting of the meter remotely at the location at which the meter is used which avoids the need for physical transportation of the meter to the postal authority. The remote recrediting may be performed by use of a transportable memory module in a system which is the subject of our UK Patent 2173738. A further method of remote recrediting uses telephonic communication between the meters and the central computer. Systems for remote recrediting by telephone are the subject of our European Patent Application No. 89313220.9 (publication No. 0376573) and UK patent application No. 9127477.9. It will be appreciated that it is a requirement that the risk of loss of data from the database maintained by the central computer system is extremely low. Accordingly during the course of a transaction, e.g. a recrediting operation, the accounting record for the transaction is written to a main database maintained in a non-volatile storage device, e.g. a hard disc storage device, and additionally an archive record is stored in an archive database which contains substantially the same records as the main database and is maintained independently in another memory device such as a second hard disc storage device. Also it is normal practice to make a back-up copy of the main database by regularly copying the main database to a tape streamer storage device, such back-up copy usually being made on a daily basis. If the main data base fails at any time it can be reproduced from the archives plus the last back-up. Because the main database, the archive database and the copy on tape are recorded on independent storage devices the risk of loss of data is very low. Central computer systems provided for effecting transactions with remote devices such as postage meters are usually required to provide uninterrupted continuous service. Accordingly in order to prevent failure of the system due to any single failure it is common to duplicate the components of the system. Thus instead of a single computer, which may be a so-called personal computer, two computers are provided. Normally a first one of the computers is arranged to operate as a master or primary computer and carries out all transactions but in the event of failure of that computer, the other computer, which up to that time has been quiescent or operated in a reserve secondary capacity is caused to carry out the transactions. A difficulty then arises to ensure that the data in a database maintained by the secondary computer is up to date and corresponds to the data in the database which at the time of failure has been maintained by the first or primary computer. If the data recorded on back-up tape is utilised to retrieve data into the database of the second computer, manual intervention is usually required and there is a break of undefined length in operation of the system while the retrieval process is effected. This is commonly known as cold standby. An alternative is to operate the second computer in a manner which maintains the database of the second computer up to date with the data in the main database of the first computer at all times. Accordingly in the event of a failure of the first computer, the second computer is ready at any instant to take over from the first computer and to continue maintenance of the database of the second computer. EP-0-420-425-A2 discloses a transaction processing system that includes a primary active database and a tracking replica database. Records in a log of changed records of the active database are sent to and written into the tracking database to maintain the tracking database in correspondence with the primary active database. US 4,751,702 discloses a database system in which the database is serviced by an active processor and a back-up processor. The back-up processor tracks the activities of the active processor so that if the active processor becomes degraded the back up-processor is capable of servicing the database immediately upon switch over. According to the invention a dual database system includes first means for processing transactions and storing transaction records in respect of said transactions in a first database; second means for entering and storing transaction record data in a second database to correspond to said first database; said first means being operative to create a transaction log record in respect of each transaction relating to critical information and to transmit said transaction log records to said second means; said second means including transaction log storage means and being operative to store received transaction log records in said transaction log storage means; characterised in that said first means is operative to create an archived record from each transaction record of a group of said transaction records and periodically to send said archived record to said second means; said second means being operative to update said second database from said archived record received by said second means; and said second means being operable in response to failure of said first means to send the archived record in respect of a group of said transactions processed by said first means immediately prior to said failure of said first means to utilise said transaction log records stored in said transaction log storage means to update said second database in respect of each transaction record relating to critical data of said group of transactions so that the second database contains records of all transactions relating to critical information processed by said first means. An embodiment of the invention will now be described by way of example with reference to the drawings in which:- Figure 1 shows a postage meter system including a central computer system with dual data base, Figure 2 is a diagram illustrating operation of the system. Figure 3 is a flow chart illustrating operation of a primary computer and secondary computer of the central computer system, and Figure 4 is a flow chart of the operation, in the event of a primary computer fault, of the secondary computer in updating a secondary database. Referring to the drawings, in Fig. 1 a plurality of postage meters 10 1 ..10 n located at users premises for use in franking mail are connectable by lines 11 of a telephone network to a modem and call router 12. The call router 12 is connected to communication ports of a first computer 13 and of a second computer 14 of a central computer system. Each computer 13 and 14 conveniently may comprise a so-called personal computer. The first computer 13 is arranged normally to operate in a primary capacity and the second computer 14 is arranged to operate in a secondary capacity. The first computer 13 includes a hard disc store 15 to be used as a non-volatile store for storing records of a primary database and the second computer 14 includes a hard disc store 16 to be used as a non-volatile store for storing archived records in a secondary database. Communication between the first and second computers 13, 14 is enabled by means of a communication link 17. While both computers may handle communications with the remote postage meters and process transaction data received from the postage meters, only the one computer arranged to operate as the primary computer controls recording of the transaction data in the primary and secondary databases. In operation during which the first computer 13 is operated as a primary computer and the second computer 14 is operated as a secondary computer, primary database system tasks are handled by the first computer 13 and the second computer 14 after processing transactions with remote postage meters passes the processed transaction data to the first computer 13 to enable the first computer to control recording of the transaction data in the primary and secondary databases. As indicated in Figure 2, and the flowchart in Fig. 3, when the first computer 13 is operating as the primary computer, records of transactions processed either by the first computer 13 or processed by and received via the link from the second computer 14 are written by the first computer 13 to the primary database in store 15. The first computer 13 also sends an archived record to the second computer 14 and the second computer 14 is arranged to operate such as to write these received archived records to the secondary database in the store 16 of the second computer 14. Accordingly, provided any back log in writing the archived records to the secondary database is cleared, the data recorded in the secondary database corresponds completely to the data recorded in the primary database. However receiving the archived records and recording of these records in the secondary database takes a finite time and hence in general the status of the secondary database will lag that of the primary database. It is usual to provide an archive buffer which accumulates a plurality of update records. When the archive buffer is full a single archived record is created and this archived record is sent to the second computer 14 for recording in the secondary database. Accordingly there may be a substantial lag in the status of the secondary database as compared with the status of the primary database. As a result, in the event of a failure of the first computer 13, although the second computer 14 can utilise the secondary database to provide a record of transactions the secondary database will not contain data from any transaction records accumulated in the archive buffer of the first computer 13 for which an archived record has not been created or sent to the second computer and this data would be lost. The databases 15, 16 comprise records of account data and other less critical information relating to a plurality of postage meters and users of those postage meters. New account data is generated and needs to be written to the database each time a postage meter is recredited. In addition the other less critical information in the database may need to be amended from time to time. This less critical information may comprise, for example, addresses of users or other information which does not specifically relate to accounting for charges and payment for use of postage value by the postage meters. It will be appreciated that it is essential in order to ensure proper accounting for charging and payment in respect of use of the postage meters that all accounting data is stored in the databases and that, in the event of a failure of the computer acting as primary computer, the accounting data written to the database 16 is fully up to date or can be updated from transaction data sent to the secondary computer 14. While it is essential to maintain the accounting data accurately in both databases so that the accounting data is always available even when one of the computer systems suffers a fault, there is less need to ensure that other less critical information which may be amended from time is written to both databases. In order to prevent possible loss of data due to any lag in updating the status of the secondary database as compared with the status of the primary database in the event of failure of the first computer 13, the first computer 13 creates a second log record of any recredit transaction performed by the first computer and sends this second log record to the second computer for storage in a non-volatile transaction log first in last out (FILO) buffer store. The second log record comprises only transaction records of critical accounting data. Accordingly, if an archived record of any transaction records has not been created or has not been sent to the second computer at the time of any failure of the first computer, the second computer is able to utilise the transaction log record of transactions to update the status of its secondary database in store 16 to match the status of the primary database in store 15 at the instant of failure of the first computer. It will be appreciated that when an archived record of a number of transaction records has been generated and written to the secondary database in store 16 there is no requirement to retain the transaction log in the log record in the buffer store of the secondary computer 14. Accordingly the transaction log buffer store is designed to be slightly larger, with respect to the number of transactions, than the archive buffer in computer 13 and operates in a cyclic FILO manner such that the oldest log records are overwritten by new records. Thus the transaction log buffer always stores a log of all of the critical transaction records awaiting archiving in the archive buffer. Similarly, the records in the archive buffer are retained in the buffer only until an archived record of those records has been created and written to the secondary database. The steps performed by the primary and secondary computers in receiving recredit requests and updating the primary and secondary databases are illustrated by the flow chart of Figure 3. If desired instead of carrying out the steps in the sequence illustrated in the flow chart of Figure 3, the first computer, when carrying out a recrediting transaction with a remote postage meter may operate firstly to process data relating to that transaction, secondly to send the transaction log data to the second computer, thirdly to commit the record of the transaction to the primary database in store 15 and lastly to send recredit authorisation to the remote postage meter. Sending of the transaction log data to the second computer prior to committing the record of the transaction to the primary database ensures that the second computer has sufficient information to take over as primary computer even in the event that the first computer fails to commit the transaction record to the primary database. Recrediting of the postage meter is carried out as a final step in the procedure to ensure that the postage meter is unable to receive credit if the issue of that credit has not been recorded in the database. If there is a failure which results in issue of credit being recorded in the database but not transmitted to the postage meter, the system operates as described in our UK pending patent application 9127477.9 to ensure that any authorised credit which has not been issued to the meter in the course of a transaction is issued to the meter in the next succeeding transaction. In the event of a fault or failure of the primary computer 13, as explained hereinbefore, the secondary computer 14 may not have received an archived record in respect of the most recent transactions. Accordingly the secondary computer operates, as shown in the flow chart of Figure 4, to update the secondary database from the transaction log records stored in the FILO buffer. Updating of the secondary database from the log records in the FILO buffer ensures that all recredit critical records created by the primary computer prior to failure thereof are written to the secondary database. Transaction records relating to non-critical data which were written by the primary computer to the archive buffer but not sent to the secondary computer will be lost and not available for use by the secondary computer to update the secondary database. However since such data is not critical it is acceptable for this data to be recovered and written to the secondary base by manual intervention of an operator of the computer system. In the event of failure of the first computer, the second computer 14 takes over the role of primary computer and writes transaction records to the database in the store 16. The second computer 14 also creates archived records and a log of transactions. These may be written to tape and floppy disc respectively. When the first computer becomes operational again, the database in store 16 is copied to the database in store 15 to bring the database in store 15 up to date. The first and second computers are interchangeable in their operation, either one being capable of operating as secondary computer while the other one operates as primary computer. The computers 13 and 14 are arranged to operate in such a manner that, in communication therebetween, either one of the computers is enabled to detect failure of the other computer so that the surviving operational computer can automatically operate as primary computer from then onwards. It will be appreciated that if the secondary computer fails, the primary computer continues to operate as primary computer and no special actions are required because it is already the primary computer and hence its database is already fully updated and has current status.

Claims: A dual database system including first means (13) for processing transactions and storing transaction records in respect of said transactions in a first database (15); second means (14) for entering and storing transaction record data in a second database (16) to correspond to said first database (15); said first means (13) being operative to create a transaction log record in respect of each transaction relating to critical information and to transmit said transaction log records to said second means (14); said second means (14) including transaction log storage means and being operative to store received transaction log records in said transaction log storage means; characterised in that said first means (13) is operative to create an archived record from each transaction record of a group of said transaction records and periodically to send said archived record to said second means (14); said second means (14) being operative to update said second database (16) from said archived record received by said second means (14); and said second means (14) being operable in response to failure of said first means (13) to send the archived record in respect of a group of said transactions processed by said first means (13) immediately prior to said failure of said first means (13) to utilise said transaction log records stored in said transaction log storage means to update said second database (16) in respect of each transaction record relating to critical data of said group of transactions so that the second database (16) contains records of all transactions relating to critical information processed by said first means (13). A dual database system as claimed in claim 1 wherein said first means (13) is operative to send said transaction record to said second means (14) prior to entry of said transaction record into the first database (15). A system as claimed in claim 1 or 2 wherein the operations performable by the first and second means (13, 14) are interchangeable. A system as claimed in claim 1 or 2 wherein in the event of a failure of said first means (13) the second means (14) is operative to enter transaction records into the second database (16). A system as claimed in any preceding claim including a plurality of remote devices (10 1 ...10 n ) able to communicate with the first and second means (13, 14) to transmit data to the first or second means (13, 14); said first and second means (13, 14) being operative to generate transaction records relating to communication with respective remote devices (10 1 .....10 n ); said second means (14) being operative to send the transaction records to said first means (13) and said first means (13) being operative to send to said second means (14) said transaction records generated by said first means (13) and transaction records received from said second means (14) for entry into the stored transaction log and thereafter to enter said transaction records generated by said first means (13) and transaction records received from said second means (14) into the first database (15). A dual database system as claimed in claim 5 wherein the remote devices (10 1 .......10 n ) comprise postage meters. A dual database system as claimed in claim 6 wherein said first means (13) is operable to recredit selected postage meters of a plurality of postage meters (10 1 ......10 n ) and in each recrediting operation the transaction relates to the critical information. A dual database system as claimed in claim 6 wherein said first means (13) and said second means (14) are operable to recredit selected postage meters of a plurality of postage meters (10 1 .....10 n ) and to create transaction records of recrediting operations; and wherein said second means (14) is operative in a recrediting operation to transmit the transaction record created by said second means (14) to said first means (13) to enable said first means (13) to enter said transaction record in said first database (15).

Inventors: HERRING WILLIAM JAMES, TRIM MACKENNY LAWRENCE, HERRING, WILLIAM JAMES, TRIM, MACKENNY LAWRENCE
Applicants: NEOPOST LTD, NEOPOST LIMITED
Application year: 1993
Main classification: G06F11
IPC codes: G06F11, G07B17