Kernel Print Command Preprocessing for Dynamic Log Routing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current operating system kernels lack a dynamic mechanism to selectively route log messages to desired output destinations based on customizable configurations, limiting flexibility and optimization for specific hardware environments.

Innovation Solution

A method is introduced where references to default kernel print functions are replaced in source code, and a configuration file is used to calculate checksums for message destinations, allowing dynamic determination of output paths during kernel execution, enabling flexible routing of log messages.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a fixed default print function is used in kernel source code, then the kernel structure remains simple and easy to compile, but the system lacks flexibility in routing log messages to different output destinations

Engineering Contradiction:
Improveflexibility in routing log messagesVSAvoidkernel structure complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by pre-processing kernel source code files before compilation to replace default print function references with instrumented versions that support dynamic routing. This replacement occurs in advance during the build process, allowing the kernel to gain flexible message routing capabilities without requiring complex runtime modifications to the kernel structure itself.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary configuration file and checksum calculation mechanism that sits between the kernel code and the print function execution. This intermediary layer enables dynamic determination of message destinations based on configurable parameters, providing flexibility without directly complicating the kernel's core structure.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If log message routing is hardcoded in the kernel, then the kernel maintains high execution speed with minimal overhead, but the system cannot be customized for different hardware environments or output destinations

Engineering Contradiction:
Improvecustomizability for hardware environmentsVSAvoidmessage routing determination time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The system performs preliminary configuration by calculating checksums for different message routing scenarios during the kernel build process and storing these in configuration files. This pre-computation approach allows the runtime system to quickly determine message destinations by simple checksum comparison, minimizing execution time overhead while maintaining full customizability for different hardware environments.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent creates a configuration table that copies and stores pre-calculated routing information from source code annotations into a separate data structure. This copying process separates the routing logic from the execution path, allowing fast lookup of message destinations during kernel operation without requiring complex runtime calculations.

Inventive Principle:
Principle #26Copying

3Adaptability or versatility

If a configuration file with checksum calculations is implemented, then dynamic message routing is achieved, but the preprocessing and configuration setup becomes more complex

Engineering Contradiction:
Improvedynamic message routing capabilityVSAvoidkernel build process simplicity
Core Design Contradiction:
Adaptability or versatilityVSEase of manufacture

Solution Approach 1:

The patent segments the kernel build process into distinct phases: source code preprocessing to identify print function calls, checksum calculation for each call site, and configuration file generation. This segmentation allows each step to be handled independently with dedicated tools, making the overall complex process more manageable and easier to integrate into existing build systems.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system implements self-service by having the preprocessing tool automatically scan kernel source files, identify print function references, calculate checksums, and generate configuration entries without manual intervention. This automation reduces the complexity burden on developers, as the tool performs the complex configuration tasks autonomously based on standard source code patterns.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9569304B2Preprocessing kernel print commands
Publication Date: 2017.02.14 MAPLEBEAR INC
  • US9569304B2 patent drawing
  • US9569304B2 patent drawing
  • US9569304B2 patent drawing

AI summary

Methods, apparatus and computer program products implement embodiments of the present invention that include replacing, in one or more initial source code files, each reference to a first function configured to convey system messages with a respective reference to a second function configured to convey the system messages, thereby producing respective corresponding preprocessed source code files for the one or more initial source code files. The respective corresponding preprocessed source code files are then compiled, thereby creating an executable file. Based on an identified name and a text string, a computed destination is determined for the text string.