Software Function Invocation via Contextual Resource Resolution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current software systems face limitations in efficiently invoking software functions and managing resources within structured address spaces, particularly in handling positional and named arguments, and in providing flexible and scalable resource management for web applications.

Innovation Solution

The method employs a system of contexts and request scopes to resolve resource requests, using Resource Identifiers, Endpoints, and Request-Scope to dynamically locate and evaluate software functions, allowing for flexible argument passing and caching of computed resources, and supports modular address space compositions and transrepresentation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If PIPCTA (Procedure Invocation with Positionally Correlated Typed Arguments) is used, then type safety and interface definition are ensured, but code flexibility and ease of operation are reduced

Engineering Contradiction:
Improvetype safetyVSAvoidcode flexibility
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent introduces an intermediary layer between the procedure interface and the invocation mechanism. This layer includes components such as the procedure interface descriptor, argument descriptor, and invocation handler that mediate between the caller and the procedure implementation. This intermediary structure enables flexible invocation methods (positional, named, default value) while maintaining type safety through structured validation and binding mechanisms.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments the procedure interface into distinct components: procedure descriptor, argument descriptors with individual type information, and invocation parameters. This segmentation allows each component to be independently validated and processed, enabling flexible argument passing while ensuring type safety for each individual argument through separate validation mechanisms.

Inventive Principle:
Principle #1Segmentation

2Ease of operation

If named arguments are introduced, then code flexibility is improved, but device complexity and interface definition complexity increase

Engineering Contradiction:
Improvecode flexibilityVSAvoidinterface definition complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent creates a universal argument descriptor structure that handles multiple invocation styles (positional, named, default values) through a single unified mechanism. The argument descriptor includes fields for name, type, default value, and position, allowing the same structure to support all invocation methods without requiring separate interface definitions for each style.

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

Solution Approach 2:

The patent implements dynamic argument binding where the invocation mechanism can adapt to different argument styles based on runtime information. The system dynamically resolves named arguments to their corresponding parameters, handles default values when arguments are omitted, and validates types based on the descriptor information, providing flexibility without requiring static interface redefinition.

Inventive Principle:
Principle #15Dynamics

3Ease of operation

If untyped interfaces are used, then code flexibility and ease of operation are improved, but measurement precision and type safety are reduced

Engineering Contradiction:
Improvecode flexibilityVSAvoidtype precision
Core Design Contradiction:
Ease of operationVSMeasurement precision

Solution Approach 1:

The patent performs preliminary type registration and descriptor creation where all procedures and their argument types are pre-defined and registered in a type system. This preliminary action creates a type registry that stores type information for later validation during invocation, enabling flexible untyped-style invocation while maintaining type precision through pre-established type definitions and runtime validation.

Inventive Principle:
Principle #10Preliminary action

4Adaptability or versatility

If resource requests are resolved through multiple contexts, then adaptability and resource management flexibility are improved, but loss of time and processing overhead increase

Engineering Contradiction:
Improveresource management flexibilityVSAvoidresolution time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent implements a nested context structure where contexts are organized in a hierarchical manner with parent-child relationships. Each context can contain resources and nested sub-contexts, allowing resource requests to be resolved by traversing the nested structure from the current context upward through parent contexts. This nesting enables flexible resource management across multiple contexts while optimizing the resolution process through structured traversal and caching of resolved references.

Inventive Principle:
Principle #7Nested doll (Nesting)

Data Source

PatentUS8589945B2Method for locating, resolving and invoking software functions
Publication Date: 2013.11.19 1060 RES
  • US8589945B2 patent drawing
  • US8589945B2 patent drawing
  • US8589945B2 patent drawing

AI summary

A method to locate, resolve, and invoke software functions, wherein the method forms a request comprising a resource identifier, resolves the request to an endpoint, evaluates the request by the endpoint to generate a resource representation.