IP Library Granted Patent US 7,007,197
Granted Patent B2
US 7,007,197 · App. 10/159,227 · Granted Feb 28, 2006

Virtual logging system and method

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,007,197
App. No.
10/159,227
Granted
Feb 28, 2006
Kind
B2
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.

Claims (24)

1. 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 buffer before sending a plurality of virtual log streams;

receiving at least one instruction to retrieve a log record front at least one of the computer application programs;

if the log record is in the buffer, retrieving the log record in the buffer;

if the log record is in a flush queue, retrieving the log record in the flush queue; and

transmitting the log record to the computer application program; and

sending the marshaled log records to a common log engine in the 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.

2. The computer-implemented method of claim 1 , further comprising if the log record is not in the buffer or the flush queue, sending an instruction for retrieving the log record to the common logging engine.

3. A computer-implemented method for maintaining a log for a plurality of computer application programs, comprising:

receiving a plurality of virtual log streams by a common logging engine, each virtual log stream comprising log data associated with one of the computer application programs;

multiplexing the virtual log streams into a single physical log stream;

appending the multiplexed physical log stream to a physical log;

receiving at least one instruction from at least one of a plurality of distributed logging components to retrieve a log record, the distributed logging components being associated with the computer application programs,

mapping a virtual log sequence number (LSN) associated with the log record to a physical LSN;

if the log record is in a memory cache associated with to common lagging engine, retrieving the log record from the memory cache;

if the log record is in a storage unit, retrieving the log record from the storage unit; and

transmitting the retrieved log record to the distributed logging component.

4. The computer-implemented method of claim 3 , wherein at least one of the virtual log streams is received from a remote computer application program over a network.

5. The computer-implemented method of claim 3 , further comprising deferring the multiplexed physical log stream in a flush queue before appending the multiplexed physical log stream to the physical log.

6. The computer-implemented method of claim 3 , wherein multiplexing the virtual log streams further comprises:

parceling the log data into a plurality of log blocks, each of the log blocks being associated with one of a plurality of regions in the physical log stream; and

assigning an owner array to each of the regions, wherein for each of the log blocks in the region, the owner array identifies one of the computer application programs that is associated with the log block.

7. The computer-implemented method of claim 6 , further comprising assigning an owner referral to each of the regions, wherein the owner referral identifies a range of log blocks associated with each of the computer application programs.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034541/0477 →