Cross-OS Communication Management via Intermediary Database

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data processing systems with multiple operating systems (OS) and processors face challenges in interprocessor communications, requiring complex software development and adaptation due to the lack of a unified protocol, leading to increased costs and reduced software portability.

Innovation Solution

A data processing system with a management database that defines correspondences between tasks and OSs, allowing management programs to handle interprocessor communications without needing specific communication protocols, enabling flexible communication and software portability across different OSs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If RPC procedure is used for interprocessor communications, then communication protocol description is not needed for software developers, but software complexity increases and development cost increases due to individual demonstration requirements for each processor

Engineering Contradiction:
Improvecommunication protocol descriptionVSAvoidsoftware complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent introduces a communication management unit as an intermediary layer between processors and the RPC mechanism. This unit automatically handles communication protocol details, processor identification, and message routing, allowing software developers to use simple RPC calls without dealing with complex interprocessor communication details.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The communication management unit implements self-service by automatically detecting processor identities, selecting appropriate communication protocols, and managing communication state without requiring software developers to individually configure or demonstrate communication procedures for each processor pair.

Inventive Principle:
Principle #25Self-service

2Adaptability or versatility

If individual program description is used to satisfy APIs of different OSs, then communications between different OSs can be achieved, but software development cost increases and software portability degrades

Engineering Contradiction:
Improvecross-OS communication capabilityVSAvoidsoftware development cost
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent creates a universal communication interface that works across different operating systems. The communication management unit provides a standardized API that can handle communications between any combination of OSs (Real-time OS, General-purpose OS, Embedded OS) without requiring individual program descriptions for each OS pair, thus achieving cross-OS adaptability while maintaining software portability.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The system segments communication handling into two parts: a standardized high-level RPC interface for software developers and a complex low-level communication management unit that deals with OS-specific details. This segmentation allows developers to write portable code while the underlying complexity is handled by the segmented communication management layer.

Inventive Principle:
Principle #1Segmentation

3Adaptability or versatility

If unified RPC protocol is not available for different OS types, then communications between different OSs cannot be standardized, but a special RPC protocol needs to be newly developed

Engineering Contradiction:
Improvestandardized cross-OS communicationVSAvoidprotocol development effort
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The communication management unit serves as an intermediary that implements a unified RPC protocol layer. This layer translates standardized RPC calls into OS-specific communication mechanisms, providing standardized cross-OS communication without requiring each OS to implement or understand the details of other OS protocols.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Adaptability or versatility

If software is re-described for changes in number of processors or peripheral circuit devices, then system configuration can be adapted, but software portability is degraded

Engineering Contradiction:
Improvesystem configuration adaptabilityVSAvoidsoftware portability
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The communication management unit implements self-service by automatically detecting the system configuration (number of processors, peripheral devices) and adapting its internal routing and management structures accordingly. Software developers write code once without needing to re-describe communication logic when system configuration changes, as the management unit handles adaptation automatically.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS8219992B2Data processing system having a plurality of processors and operating systems
Publication Date: 2012.07.10 RENESAS ELECTRONICS CORP
  • US8219992B2 patent drawing
  • US8219992B2 patent drawing
  • US8219992B2 patent drawing

AI summary

Management programs for concealing differences in hardware configuration and OS are operated and stayed resident every OS. A database manipulated by the management programs is prepared. The database defines correspondences between tasks for hardware control and software processing, which are processed under the control of the OSs and their attached OSs, over the OSs. When the corresponding management program detects a startup request of a task, the management program extracts an entry corresponding to the task from the database. If an attached OS owned by the extracted entry is its own OS, then the task is processed under the control of the corresponding OS. If the attached OS owned by the extracted entry is other OS, then the startup request is passed to a processor of the other OS, where the task is processed.