Describir: Supporting distributed transaction processing over mobile and heterogeneous platforms