Log File Session Grouping via Ring Buffer

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional methods for processing large log files require significant computational resources and create extra copies, leading to processing speed penalties when grouping entries by session for website traffic analysis.

Innovation Solution

A system and method utilizing a memory window to select a subset of log file records, storing them in a ring buffer for efficient processing, allowing for identification and grouping of complete sessions without creating a complete copy of the log file, and using selected data structures to generate groups for incomplete sessions for subsequent processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional methods are used to group log file entries by session, then complete session records can be identified for analysis, but significant computational resources are required and processing speed penalties occur

Engineering Contradiction:
Improvesession identification accuracyVSAvoidprocessing speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent divides the log file processing into multiple passes: a first pass to identify session boundaries and create session identifiers, and a second pass to group entries by session. This segmentation allows the system to process large log files efficiently by breaking down the complex grouping task into manageable steps, improving both processing speed and resource utilization while maintaining accurate session identification.

Inventive Principle:
Principle #1Segmentation

2Loss of information

If log file entries are grouped by session using conventional techniques, then detailed session-level analysis can be performed, but extra copies of the log file are created and computational resources are consumed

Engineering Contradiction:
Improvesession data completenessVSAvoidmemory usage
Core Design Contradiction:
Loss of informationVSQuantity of substance

Solution Approach 1:

The patent extracts only the essential session identification information (session boundaries and session IDs) during the first pass, storing this metadata separately from the full log file. During the second pass, entries are grouped using this extracted session information without requiring the entire log file to be loaded into memory simultaneously. This extraction approach maintains complete session data for analysis while significantly reducing memory consumption.

Inventive Principle:
Principle #2Taking out (Extraction)

3Reliability

If the entire log file is loaded into memory for session grouping, then all session records can be processed completely, but the system requires more memory than is practically available

Engineering Contradiction:
Improvesession processing completenessVSAvoidavailable memory
Core Design Contradiction:
ReliabilityVSArea of stationary object

Solution Approach 1:

The patent implements multi-pass processing where the log file is read sequentially in passes rather than loading the entire file into memory at once. The first pass identifies session boundaries and assigns session IDs, the second pass groups entries by session using the assigned IDs, and subsequent passes can perform analysis. This segmentation of the processing task allows complete session processing with minimal memory requirements, as only a small buffer needs to be held in memory at any given time.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS7779021B1Session-based processing method and system
Publication Date: 2010.08.17 VERSATA DEVELOPMENT GROUP INC
  • US7779021B1 patent drawing
  • US7779021B1 patent drawing
  • US7779021B1 patent drawing

AI summary

A log file processing system sorts records from large log files and groups them by session without making a complete copy of the log files by capturing a subset of the log files in a sliding memory window and identifying all records in the window that form a complete user session. Records belonging to a complete session are output for analyzing, and the remaining records are output as raw log data for additional processing. Using a ring buffer to implement the sliding memory window, data structures are used to group records by session, to identify completed sessions, and to index into the ring buffer to retrieve records for completed sessions that are to be directly analyzed. Any records remaining in the ring buffer at the end of slide window processing may be output as raw log file data and are processed as incomplete or malformed session records. An embodiment of the log file processing system provides a significant improvement on the speed of data extraction from log files into analyzable session data.