Virtual logging system and method
First Claim
Patent Images
1. A computer-readable medium encoded with computer-executable components for performing transactional logging, comprising:
- a plurality of distributed logging modules, a first one of the distributed logging modules being associated with a first computer application program and a second of the distributed logging modules being associated with a second computer application program, each of the distributed logging modules being further configured to receive log data from the distributed logging module'"'"'s associated computer application program, each of the distributed logging modules being programmed to marshal the log data sent by the associated computer application program;
a common logging engine in communication with each of the distributed logging modules and configured to receive log data from each of the distributed logging modules and to multiplex the received log data into a single physical log; and
a plurality of distributed logging module data stores (DLM data stores), each of the DLM data stores being associated with one of the distributed logging modules and containing information about the physical log for use by the associated distributed logging module in sending the log data to the common logging engine, the information about the physical log comprising an indication of an amount of pre-reserved space in the physical log available to the associated distributed logging module.
1 Assignment
0 Petitions
Accused Products
Abstract
A common transactional 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 multiple virtual log streams, including log records, for each log client into a single transactional log.
57 Citations
17 Claims
-
1. A computer-readable medium encoded with computer-executable components for performing transactional logging, comprising:
-
a plurality of distributed logging modules, a first one of the distributed logging modules being associated with a first computer application program and a second of the distributed logging modules being associated with a second computer application program, each of the distributed logging modules being further configured to receive log data from the distributed logging module'"'"'s associated computer application program, each of the distributed logging modules being programmed to marshal the log data sent by the associated computer application program;
a common logging engine in communication with each of the distributed logging modules and configured to receive log data from each of the distributed logging modules and to multiplex the received log data into a single physical log; and
a plurality of distributed logging module data stores (DLM data stores), each of the DLM data stores being associated with one of the distributed logging modules and containing information about the physical log for use by the associated distributed logging module in sending the log data to the common logging engine, the information about the physical log comprising an indication of an amount of pre-reserved space in the physical log available to the associated distributed logging module. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A computer-implemented method of performing transactional logging for a computer application program, comprising:
-
receiving log records from each of a plurality of computer application programs;
marshalling the log records into a plurality of buffers;
storing the marshaled log records in a buffer before sending the virtual log streams;
receiving at least one instruction to retrieve a log record from at least one of the computer application programs;
if the log record is in the buffer, retrieving the log record in the buffer; and
transmitting the log record to the computer application program; and
sending the marshaled log records to a common logging engine in a plurality of virtual log streams, each of the virtual log streams being associated with a computer application program in the plurality of computer application programs.
-
-
13. A computer-implemented method for communicating between computer-executable components, comprising:
-
sending, by a distributed logging module, logging instructions to a common logging engine;
sending, by the distributed logging module, a first piggy back data along with the logging instructions, wherein the first piggy back data includes accounting information associated with pre-reserved space in a physical log available to the distributed logging module;
receiving, by a common logging engine, the logging instructions and piggy back data;
sending, by the common logging engine, a response and acknowledgment message to the distributed logging module in response to the logging instructions;
sending, by the common logging engine, a second piggy back data along with the response and acknowledgment message. - View Dependent Claims (14, 15, 16, 17)
-
Specification