System and method for locating log records in multiplexed transactional logs
First Claim
1. In a transactional logging system, a computer-implemented method for locating a log record in a transactional log, the transactional log having a plurality of regions, the log record being associated with a client, the computer-implemented method comprising:
- receiving a virtual identifier from the client, the virtual identifier identifying the log record;
determining a correct region in the transactional log from among the plurality of regions using a set of owner pages, each owner page in the set having an association with a region in the transactional log; and
mapping the virtual identifier to a log block physical identifier for the log record in the correct region using the owner page associated with the correct region, the physical identifier corresponding to the location of the log record in the transactional log.
2 Assignments
0 Petitions
Accused Products
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 scheme for mapping virtual identifiers that a client uses in connection with the client'"'"'s own records to physical identifiers that represent the physical location of the client'"'"'s records in the single transactional log
-
Citations
31 Claims
-
1. In a transactional logging system, a computer-implemented method for locating a log record in a transactional log, the transactional log having a plurality of regions, the log record being associated with a client, the computer-implemented method comprising:
-
receiving a virtual identifier from the client, the virtual identifier identifying the log record;
determining a correct region in the transactional log from among the plurality of regions using a set of owner pages, each owner page in the set having an association with a region in the transactional log; and
mapping the virtual identifier to a log block physical identifier for the log record in the correct region using the owner page associated with the correct region, the physical identifier corresponding to the location of the log record in the transactional log. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14)
-
-
11. In a transactional logging system, a computer-implemented method for identifying a current log record in a transactional log, the current log record being associated with a client, the transactional log having a last log record associated with the client, the last log record being appended to the transactional log before the current log record, the computer-implemented method comprising:
-
assigning a physical identifier to the last log record, the physical identifier identifying a location of the last log record within the transactional log; and
assigning a virtual identifier to the current log record, the virtual identifier corresponding to the physical identifier and associating the current log record with a virtual log, the virtual log being presented to the client by the transactional logging system as a dedicated log.
-
-
15. A computer-implemented method for locating a log record in a transactional log comprising:
-
receiving from a client a request related to a target log record, the target log record being indicated by a virtual identifier;
determining, from a plurality of owner pages, which of a plurality of regions in the transactional log is a correct region, each owner page being associated with at least one of the regions and including information identifying a range of log blocks within the associated region corresponding to the client, the correct region having a range that includes the target log record;
comparing the virtual identifier to a list of physical identifiers that have previously been returned to the client until a matching physical identifier is located, the matching physical identifier corresponding to the virtual identifier. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22)
-
-
23. In a transactional logging system, a computer-readable medium encoded with a data structure, comprising:
-
a client data field containing data representing a plurality of clients associated with a transactional log, the transactional log containing a plurality of log blocks, each of the log blocks being identified by a different virtual identifier and being associated with one of the clients;
a range data field containing data representing a plurality of virtual identifier ranges, each virtual identifier range being associated with one of the clients and describing a range of virtual identifiers for log blocks associated with the client. - View Dependent Claims (24, 25, 26)
-
-
27. In a transactional logging system, a computer-readable medium encoded with a data structure, comprising:
-
a multiplicity of sector records, each sector record including;
a client data field that identifies particular client that owns the sector record;
a log record offset that locates the sector record within a sequence of sector records of a log block;
wherein each sector record is associated with a physical identifier and wherein a first physical identifier for a first sector record corresponds to a virtual identifier of another sector record in the multiplicity of sector records, the virtual identifier of the other sector record being different from the first physical identifier of the first sector record. - View Dependent Claims (28, 29, 30, 31)
-
Specification