Dynamic Software Component Binding via Multicast

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing software components are typically hard-coded for static interaction, limiting flexibility and resilience in service provision and data processing across computing systems.

Innovation Solution

Implementing a multicast communication protocol for dynamic binding of software components, allowing components to announce services and establish peer-to-peer connections based on service availability and need, enabling flexible service utilization and failover.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If components are hard-coded to communicate and interact with each other, then the system structure is simple and easy to implement, but the system flexibility and adaptability deteriorate

Engineering Contradiction:
Improveease of implementationVSAvoidsystem flexibility
Core Design Contradiction:
Ease of manufactureVSAdaptability or versatility

Solution Approach 1:

The patent implements dynamic binding where software components can establish and terminate connections at runtime based on service availability and data needs. Components publish their services via multicast protocols and subscribe to services they need, enabling the system to adapt dynamically rather than relying on static hard-coded connections. This resolves the contradiction by making the system structure flexible while maintaining implementation simplicity through standardized protocols.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent introduces a service publication and subscription mechanism as an intermediary layer between components. Instead of direct hard-coded connections, components interact through published services and subscriptions, allowing dynamic routing and connection management. This intermediary mechanism enables flexibility while keeping component implementation simple and standardized.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Device complexity

If components are hard-coded to communicate and interact with each other, then the connection management is straightforward, but the system resilience and fault tolerance deteriorate

Engineering Contradiction:
Improveconnection management complexityVSAvoidsystem resilience
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The patent implements service publication and subscription mechanisms where components continuously announce their service availability and respond to subscription requests. This feedback loop enables automatic connection establishment and termination based on service availability, improving resilience without significantly increasing connection management complexity. Components can dynamically adapt to failures by subscribing to alternative services when primary services become unavailable.

Inventive Principle:
Principle #23Feedback

3Device complexity

If components use static binding, then the system architecture is simple and maintainable, but the service utilization efficiency and resource optimization deteriorate

Engineering Contradiction:
Improvearchitecture complexityVSAvoidservice utilization efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent enables dynamic service binding where components can subscribe to multiple services and switch between them based on availability and performance requirements. This dynamic approach allows efficient service utilization by automatically selecting available services while maintaining relatively simple architecture through standardized publish-subscribe protocols. Components can optimize resource usage by dynamically adapting to service performance and availability.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11516034B2Dynamic binding for software components
Publication Date: 2022.11.29 SAP SE
  • US11516034B2 patent drawing
  • US11516034B2 patent drawing
  • US11516034B2 patent drawing

AI summary

Some embodiments provide a non-transitory machine-readable medium that stores a program. The program transmits via a multicast communication protocol a message specifying a set of services offered by the device to a plurality of computing devices. The program further establishes a connection with a computing device in the plurality of computing devices. The program also receives, through the connection, a set of data for the set of services. The program further applies the set of services to the set of data.