Cloud transactions differ from relational database transactions
Relational database management systems typically implement the relational transaction concept like depicted in Figure 9: the developer marks the beginning and end of the set of operations that are part of the transaction. Inside the transaction, operations are run one by one, and in case of an error, the program requests the transaction being rollbacked, which is implemented by the database server to undo all operations requested since the beginning of the transaction - hence returning the database to Point of Consistency 1. If all operations are run successfully, the transaction gets committed, that is, confirmed – in this case the database's state will correspond to Point of Consistency 2.
In the cloud-computing environment, where system components are obviously not running inside a single server (as is the case in traditional server-based relational database systems), a very fundamental hypothesis is not met: communication between the programming logic and the data can break for various reasons. For example, an Internet connection used to reach a cloud-based back-end server could not be available at some moment in time, or the end-user device (11) requesting the transaction could disappear from the network because its battery went dead amidst the execution of a transaction.
In these cases, a traditional transaction manager would be left, over time, with an increasing number of incomplete transactions, filling up the server's memory with useless data.
US Patent Requested