On-Demand DLL Loading for Log Message Collection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current log message collection systems for Microsoft Windows operating systems face scalability limitations, particularly in large-scale computing environments, due to the need to copy and maintain thousands of Dynamic Link Libraries (DLLs), which consumes significant network bandwidth and time, and results in delayed startup and untranslatable events over time.
Innovation Solution
Implementing a method where only the necessary DLLs required for log message translation are loaded on-demand, rather than collecting all possible DLLs at startup, reducing the number of DLLs needed for translation and maintaining a cache of fetched DLLs for future use.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If all DLLs are collected at startup, then translation capability is complete, but network bandwidth consumption and startup time increase significantly
Solution Approach 1:
The system performs preliminary actions by collecting only the necessary DLLs required for log message translation at startup, rather than all possible DLLs. This selective preliminary collection reduces network bandwidth consumption and startup time while maintaining complete translation capability for the specific log messages that need to be translated.
Solution Approach 2:
The invention extracts and collects only the specific DLLs that are necessary for translating log messages from the target system, separating them from the complete set of all possible DLLs. This extraction approach ensures that translation capability is maintained for required messages while significantly reducing the amount of data transferred over the network.
2Adaptability or versatility
If all DLLs are copied to the collecting system, then all log messages can be translated, but the number of DLLs to maintain increases significantly
Solution Approach 1:
The system extracts only the specific DLLs that are actually needed to translate the log messages that require translation. By identifying and collecting only these necessary DLLs rather than maintaining a complete library of all possible DLLs, the system maintains full adaptability for translating required log messages while dramatically reducing the quantity of DLLs that must be maintained.
Solution Approach 2:
The invention applies partial action by collecting exactly the right amount of DLLs needed for translation - no more, no less. This partial collection approach ensures that the system has sufficient translation coverage for all log messages that need to be translated, while avoiding the excessive maintenance burden of collecting and maintaining all possible DLLs that could ever be needed.
3Measurement precision
If DLLs are loaded for each host sequentially, then translation accuracy is maintained, but collection time increases
Solution Approach 1:
The system performs preliminary identification of which DLLs are actually needed for translating log messages from each host before proceeding with the collection process. This preliminary action allows the system to maintain translation accuracy by ensuring the correct DLLs are loaded, while reducing collection time by avoiding the sequential loading of unnecessary DLLs for each host.
Data Source
AI summary
A log message collection system selects a configured host and fetches a log message. The log message collection system examines the fetched message to identify one or more DLLs necessary to translating the log message and determines whether the necessary DLL(s) have been loaded into a cache. If so, the log message is translated. If the DLLs are not in the cache, the log message collection system fetches from the log message host only the DLLs necessary to translate that fetched message. After the message is translated, the log message collection system fetches the next log message, identifies the necessary DLLs for that log message, and fetches the DLLs necessary to translate that message.


