Towards a temporal World-Wide Web: a transaction-time server

Transaction time is the time of a database transaction, i.e., an insertion, update, or deletion. A transaction time database stores the transaction-time history of a database and supports transaction timeslice queries that retrieve past database states. The paper introduces transaction time to the World-Wide Web. In a Web context, transaction time is the modification time of a resource such as an XML document. A transaction-time Web server archives resource versions and supports transaction timeslice. Unlike a database server, a Web server is typically uninvolved in the update of a resource, instead it is only active when a resource is requested. The paper describes a lazy update protocol that enables a Web server to manage resource versions during resource reads. An important benefit of our approach is that transaction-time can be supported by a transparent, minimal Web server extension; no changes to legacy resources, HTTP, XML, or HTML are required. Furthermore, a Web server can seemlessly become a transaction-time server at any time without affecting or modifying the resources it services or other Web servers.