Patent ID: 7484216
Filing Date: 2009-01-27
Classification: G06F,Y10S

Abstract:
1. A transactional logging system comprising: at least two computing devices including clients; wherein the clients include a first client that is associated with a first application having a first functionality and a second client that is associated with a second application having a second functionality; a transactional log containing storage space associated with a storage unit; wherein the transactional log stores log records from the clients; wherein the transactional log is presented to each of the clients as a dedicated logging system such that each client expects that the log records received from each of the clients is stored within a dedicated log; and wherein each of the clients has a portion of a common reserved space within the transactional log; wherein the common reserved space is used to accommodate undo records and compensation log records for rolling back transactions, and log records of a client that have been buffered by a client's corresponding distributed component; and wherein the transactional log stores log records from the first client and the second client; wherein the log records from the first client are unrelated to the log records from the second client; wherein the log records from the clients are multiplexed; a core component configured to: manage the transactional log for a plurality of clients; allocate a part of the transactional log as common reserved space for use by the clients; keep track of the common reserved space; and write log records to the transactional log; wherein the core component operates in a kernel mode of a computer and wherein the core component is further configured to determine an amount of actual pre-reserved space to allocate to the client and to communicate the amount of actual pre-reserved space to the distributed component; wherein the amount of actual pre-reserved space is communicated to the distributed component using piggyback data; and a plurality of distributed components configured to buffer the log records from the plurality of clients before sending the log records to the core component, wherein buffering the log record defers communication with the core component in order to save overhead associated with communications crossing a user-kernel boundary; each distributed component being associated with at least one of the clients, the distributed component being further configured to maintain accounting information for identifying the portion of the common reserved space associated with the client and to communicate the accounting information to the core component; wherein the distributed components operate in either a kernel mode or in a user mode.