System and method for decoupling space reservation in transactional logs
AssigneeMicrosoft Corporation
InventorsDexter Paul Bradshaw, Surendra Verma
Life of this patent
Estimating the term…
Abstract
A common logging system (a “virtual logging system”) that presents to one or more log clients the appearance that each log client is interacting with a dedicated logging system. In reality, the virtual logging system is multiplexing virtual log streams, including log records, for each log client into a single transactional log. In particular, the invention is directed at a system and method for decoupling space reservation between a plurality of distributed components and a core component in the virtual logging system.
Claims27
A transactional logging system comprising:
- a transactional log containing storage space associated with a storage unit;
- a core component configured to manage the transactional log for a plurality of clients and to allocate a part of the transactional log as common reserved space for use by the clients;
- and
- a plurality of distributed components configured to buffer log records and space reservation from the clients, each distributed component being associated with at least one of the clients, the distributed component being further configured to maintain accounting information for identifying a portion of the common reserved space associated with the client and to communicate the accounting information to the core component.
A computer-implemented method comprising:
- receiving log records from one of a plurality of clients for appending to a transactional log;
- determining whether a sufficient amount of free space exists in the transactional log to append the log records;
- and
- if not, appending the log records to pre-reserved space associated with the client and updating an amount of pre-reserved space available to the client.
A method for communicating between a first component and a second component in a transactional logging system, the first component being associated with a client, the method comprising:
- issuing to the first component, by the first component, a first message containing an amount of current pre-reserved space and an amount of desired pre-reserved space in a transactional log;
- receiving, by the second component, the first message and determining an amount of actual pre-reserved space available to the client in the transactional log;
- and
- issuing, by the second component, a second message identifying the amount of actual pre-reserved space.
A computer-readable medium encoded with a data structure comprising:
- a first data field containing log records, each log record being associated with one of a plurality of clients;
- and
- a second data field having reserved space, wherein the plurality of clients share the reserved space.
A computer-readable medium encoded with a data structure comprising:
- a first data field identifying an amount of pre-reserved space desired by a component of a transactional logging system;
- and
- a second data field identifying an amount of pre-reserved space actually available to the component.
Dependencies are inferred from the claim text.