Kernel Module Management via Server-Side Binary Distribution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional kernel management mechanisms for commercial operating systems face security threats due to manual source code updates and exposure of APIs, and they are not suitable for closed-source systems, as they require users to write kernel module source code and export APIs, which compromises system security and confidentiality.

Innovation Solution

A method where a server distributes pre-encapsulated binary code instances of kernel modules corresponding to multiple candidate versions to a client, allowing dynamic loading based on the current kernel version and avoiding API exposure by storing API addresses during module loading, thus preventing manual source code compilation and API export.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If manual source code updates and API export are used in traditional kernel management mechanisms, then kernel modules can be updated and customized, but system security and confidentiality are compromised

Engineering Contradiction:
Improvekernel module update capabilityVSAvoidsystem security and confidentiality
Core Design Contradiction:
Adaptability or versatilityVSObject-affected harmful factors

Solution Approach 1:

The patent extracts the kernel module source code and API export functionality from the client system, centralizing kernel module management on the server side. The server compiles and distributes pre-compiled kernel module binaries, eliminating the need for clients to handle source code or export APIs, thus resolving the security conflict while maintaining update capability

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces an intermediary mechanism where the server acts as a mediator between kernel updates and client systems. The server compiles kernel modules with embedded API address tables and distributes them as pre-compiled binaries, serving as a secure intermediary that eliminates direct source code exposure and API export requirements on client systems

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If kernel module source code is distributed to clients for manual compilation, then customization and updates are enabled, but the complexity of client-side compilation and API management increases

Engineering Contradiction:
Improvekernel module update efficiencyVSAvoidclient-side compilation and API management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by having the server pre-compile kernel modules and embed API address tables before distribution. Clients receive ready-to-install binary packages, eliminating the need for on-site compilation and API configuration, thus improving update efficiency while reducing client-side complexity

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent uses copying by distributing pre-compiled binary copies of kernel modules from the server to clients. Instead of transferring source code that requires compilation, the system copies optimized binary files that can be directly installed, significantly reducing client-side processing complexity and improving deployment speed

Inventive Principle:
Principle #26Copying

Data Source

PatentUS10592257B2Kernel management method, device and computer program product
Publication Date: 2020.03.17 EMC IP HLDG CO LLC
  • US10592257B2 patent drawing
  • US10592257B2 patent drawing
  • US10592257B2 patent drawing

AI summary

Embodiments of the present disclosure relate to a method, device and computer program product for kernel management. The method comprises: receiving, from a server, a plurality of instances of a kernel module to be loaded into a kernel, the plurality of instances corresponding to a plurality of candidate versions, determining a current version of the kernel in response to the kernel being started or updated, and loading, to the kernel, an instance of the plurality of instances corresponding to the current version. Embodiments of the present disclosure may improve the security of the operating system, meet close-source requirement of a commercial operating system and also simplify the process of the kernel module referring to one or more APIs.