Smartcards are known which include a processor, a memory for storing a system program, an application program and for storing data and an interface enabling communication with an external processor in a local terminal adapted to access related data.
Smartcards are more frequently becoming used to initiate commercial transactions. Control of such transactions needs to achieve reliable updating of both the data stored on the smartcard as well as the related data stored in the local terminal unit or a remote server.
An example of such transaction processing relates to a smartcard for a retail store storing an accumulated loyalty points total. In this case, the store will also wish to retain a central database of customer loyalty points. It is therefore critical that both the smartcard and central database are updated with any loyalty point transactions. In the event of error, neither the smartcard nor the database should be updated and either the customer and operator are advised accordingly; or the system retries the transaction.
Another example of such transaction processing relates to smartcards for storing accumulated air miles, although it will be seen that the problems relating to smartcard transaction processing are not limited to any particular commercial field.