Communication Apparatus Offload Processing MAC Header Generation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing communication apparatuses face challenges in performing data communication without altering the OS kernel, especially when cache information for MAC headers is unavailable, leading to inefficiencies in packetization and increased CPU processing load.

Innovation Solution

A communication apparatus with a processing unit that executes communication protocol processing, a hook unit to intercept OS kernel processing, a determination unit to assess cache information validity, and a control unit to manage header generation based on this assessment, allowing for offload processing of protocol tasks without modifying the OS kernel.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If offload processing is used to perform packetization using hardware, then CPU processing load is reduced and transmission speed is improved, but changes to the OS kernel are required which degrades OS serviceability and quality

Engineering Contradiction:
Improvetransmission speedVSAvoidOS serviceability
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

A MAC header generation flag is introduced as an intermediary mechanism to coordinate between the offload processing unit and the OS kernel. This flag acts as a mediator that enables the offload unit to control MAC header generation without requiring direct modifications to the kernel code, thus maintaining OS serviceability while achieving hardware-accelerated packetization

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If offload processing is used to generate MAC headers using hardware, then processing efficiency is improved, but when cache information on MAC header is unavailable, the MAC header cannot be generated and transmission packets cannot be created

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidadaptability to cache availability
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The system dynamically adjusts the MAC header generation process based on the availability of cache information. When cache information is available, the offload processing unit generates MAC headers using hardware for high efficiency. When cache information is unavailable, the system adapts by allowing the OS kernel to generate MAC headers, ensuring continuous operation regardless of cache availability

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The generation responsibility of MAC headers is changed as a controllable parameter based on cache availability. The MAC header generation flag serves as this parameter, which can be switched between two states: one where the offload unit generates MAC headers (when cache is available) and another where the OS kernel generates them (when cache is unavailable)

Inventive Principle:
Principle #35Parameter changes

3Adaptability or versatility

If the OS kernel generates MAC headers, then adaptability to cache availability is maintained, but CPU processing load increases and transmission speed decreases

Engineering Contradiction:
Improveadaptability to cache availabilityVSAvoidtransmission speed
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The system uses the MAC header generation flag as a controllable parameter to switch between two operational modes. By setting this flag appropriately, the system can change who is responsible for MAC header generation, thereby balancing adaptability and transmission speed based on real-time cache availability conditions

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS12341866B2Communication apparatus and control method thereof, and storage medium
Publication Date: 2025.06.24 CANON KK
  • US12341866B2 patent drawing
  • US12341866B2 patent drawing
  • US12341866B2 patent drawing

AI summary

A communication apparatus includes a processing unit that executes communication protocol processing by an OS kernel in place of the OS kernel. When the communication protocol processing by the OS kernel is hooked, a determination unit determines a state of a neighborhood entry holding cache information on a MAC header to be added to transmission data. A control unit controls a header generation processing based on the determined state of the neighborhood entry. The control unit, if the neighborhood entry holds valid cache information, performs control such that a processing unit generates a header of a layer higher than a MAC layer and the MAC header and, if the neighborhood entry does not hold valid cache information, performs control such that the processing unit generates the header of the higher layer and the OS kernel generates the MAC header.