Runtime Link Type Object Management Engine

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current programming languages face challenges in effectively managing user-defined types at runtime, particularly in ensuring disciplined link type object management, including creation, deletion, and updating, without duplicating efforts or causing orphaned objects, and require efficient memory management with user confirmation and authentication.

Innovation Solution

A compile-time link type manager emits a runtime management engine that processes generic link type object management instructions, checks for link-type criteria, and employs user confirmation and authentication to ensure authorized actions on objects, allowing for efficient reuse of existing objects and optimized memory management.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If manual memory management is used (e.g., new/delete in C++), then memory control flexibility is improved, but risk of orphaned objects and memory leaks increases

Engineering Contradiction:
Improvememory control flexibilityVSAvoidrisk of orphaned objects
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The runtime management engine implements feedback mechanisms by tracking object creation, linkage, and destruction events. When an object is created, the system records its dependencies and notifies relevant components. When an object is destroyed, the system checks for dependent objects and prevents orphaning by either preventing destruction or automatically cleaning up dependents. This feedback loop ensures memory safety while maintaining manual control flexibility.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent introduces a runtime management engine as an intermediary layer between the programmer and the memory management system. This mediator automatically handles object lifecycle events, dependency tracking, and cleanup operations. The programmer retains control through explicit creation/destruction commands, but the intermediary ensures safety by preventing orphaned objects and managing memory allocation/deallocation systematically.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If automatic garbage collection is used (e.g., in Java or C#), then risk of orphaned objects is reduced, but memory control flexibility and performance optimization capability decreases

Engineering Contradiction:
Improveprotection from orphaned objectsVSAvoidmemory control flexibility
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The system implements dynamic memory management where the level of automation adjusts based on runtime conditions. For frequently accessed or performance-critical objects, the system provides more manual control options. For less critical objects, automatic management features are enabled. This dynamic approach allows the system to adapt between manual and automatic management styles, optimizing both flexibility and safety for different scenarios.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The memory management system is segmented into different management modes and object categories. Critical objects with explicit lifecycle requirements are managed manually with runtime verification, while temporary or less critical objects use automatic management. The runtime engine segments responsibilities by object type, allowing programmers to specify management preferences for different object classes, thus achieving both control flexibility and automatic protection where appropriate.

Inventive Principle:
Principle #1Segmentation

3Reliability

If link type object management is implemented at runtime, then prevention of duplicates and orphans is improved, but system complexity and overhead increases

Engineering Contradiction:
Improveprevention of duplicates and orphansVSAvoidruntime management system complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The runtime management engine is designed as a universal system that handles multiple object management tasks through a single integrated architecture. It performs dependency tracking, lifecycle management, duplicate detection, and automatic cleanup across all link type objects regardless of their specific class or purpose. This multi-functional design reduces overall system complexity by consolidating management responsibilities into one versatile engine rather than requiring separate mechanisms for each management concern.

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

Solution Approach 2:

The system implements self-service mechanisms where objects automatically register themselves upon creation and automatically notify the management engine of their destruction. The runtime engine uses these self-provided information to automatically track dependencies and prevent orphaning without requiring explicit programmer intervention for each object. This self-service approach reduces the operational complexity while maintaining comprehensive object management.

Inventive Principle:
Principle #25Self-service

4Reliability

If user confirmation and authentication are required for object operations, then data integrity and security are improved, but operation speed and productivity decreases

Engineering Contradiction:
Improvedata integrityVSAvoidoperation speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

User confirmation and authentication requirements are determined in advance during compile time or object definition phase. The system pre-configures which object operations require user confirmation based on their criticality, dependency relationships, and potential impact. Frequently accessed or low-risk operations are pre-marked as automatic, while critical operations are pre-marked as requiring confirmation. This preliminary classification enables fast automatic execution for routine operations while maintaining security for important operations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system applies user confirmation requirements selectively rather than universally. Only a subset of object operations that pose significant risk or impact data integrity are subject to confirmation requirements. The majority of routine operations proceed automatically without user intervention. This partial application of confirmation mechanisms maintains data integrity for critical operations while preserving high operation speed for non-critical tasks, thus balancing security and productivity.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS20240241735A1Runtime support for link type object management
Publication Date: 2024.07.18 ZOHO OFFICE SUITE
  • US20240241735A1 patent drawing
  • US20240241735A1 patent drawing
  • US20240241735A1 patent drawing

AI summary

A compile-time link type manager is defined to facilitate development of source code with disciplined link type object management at run-time. In one aspect, when a compile-time link type manager encounters a link type object management construct in source code, it will emit code for a runtime object management engine that processes generic link type object management instructions at runtime. It will also compile type-specific instructions from the link type object management construct for accessing the generic instructions in the runtime object management engine for affecting a link type object at runtime. A runtime object management engine may perform various checks, referred to as link-type criteria, at runtime prior to executing a link type object management instruction. When defined link-type criteria are satisfied for a link type object management instruction for an object at runtime, the instruction is carried out.