I have scenario where a transaction flows from a source JVM to multiple JVMs. I want to track the transaction uniquely and be able to track it in the target JVM. Sample: Front End App ---> Middleware ---> Biller API ---> Database or more backend systems. A transaction is initiated from the front-end ( e.g. Add Payment ). I want to assign it a unique value which can be identified/tracked at each systems the transaction flows through. ( Assuming that we only want to do this for Java applications only) One of the solution that I have to thought is to track the transaction at the JVM ( But I have no clue how to do it. Although there are apps in the market which have been able to do this. [ Like: Quest's Performasure, Progressive's Actional and HP's Transaction Vision ]. Let me know if you have any doubts or question on the matter.