Transaction Processing In Distributed Systems