Naming Service Proxy for Remote Reference Acquisition

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current technologies face challenges in efficiently acquiring an initial remote reference to a remote object and effectively calling a second functionality from a first functionality, such as a client to a server, with existing methods requiring multiple steps and complex protocol handling.

Innovation Solution

The solution involves using an architect console to generate proxies and adapters, enabling a naming service to bind objects with well-known names, and employing marshaling and unmarshaling techniques to facilitate efficient communication between clients and servers across different programming languages, allowing for direct method invocations and response handling through a two-layer design supporting multiple protocols.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional methods are used to acquire remote references and call second functionality, then compatibility and reliability are maintained, but the number of steps and complexity increase significantly

Engineering Contradiction:
Improveefficiency of acquiring remote referenceVSAvoidnumber of steps to acquire proxy
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces a naming service as an intermediary component that simplifies the process of acquiring remote references. The naming service acts as a mediator between the client and the remote object, providing a standardized interface for looking up and obtaining proxies. This intermediary layer consolidates multiple complex steps into a single simplified operation, directly addressing the technical contradiction by reducing the number of steps while maintaining compatibility.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments the remote invocation system into distinct functional components: a naming service for reference acquisition, adapters for protocol translation, and proxies for local representation. This segmentation allows each component to handle specific tasks independently, reducing the complexity of the overall process. The naming service handles only reference acquisition, while adapters handle protocol conversion, separating concerns that would otherwise be entangled in a monolithic approach.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If multiple protocols are supported for cross-language communication, then adaptability is improved, but device complexity and protocol handling requirements increase

Engineering Contradiction:
Improvecross-language communication capabilityVSAvoidprotocol handling complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements a universal adapter pattern where a single adapter infrastructure can handle multiple protocols and programming languages. The adapter serves as a multi-functional component that translates between different protocols (SOAP, XML-RPC, CORBA) and language bindings (Java, C++, .NET). This universality allows the system to support cross-language communication without requiring separate specialized handlers for each protocol, thereby reducing overall complexity while maintaining adaptability.

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

Solution Approach 2:

The adapter acts as an intermediary layer between the protocol-independent proxy and the protocol-specific implementation. This intermediary absorbs the protocol-specific complexity, shielding the rest of the system from protocol variations. The adapter translates protocol-specific messages into a common internal representation and vice versa, allowing multiple protocols to be supported through a single unified interface.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Ease of operation

If proxies are generated with full functionality signatures, then ease of operation is improved, but the overhead of marshaling and communication increases

Engineering Contradiction:
Improveclient access to business objectVSAvoidcommunication overhead
Core Design Contradiction:
Ease of operationVSUse of energy by moving object

Solution Approach 1:

The patent creates a proxy object that is a copy or representation of the remote business object. This proxy maintains the same interface and methodology signatures as the actual business object, providing ease of operation. However, instead of directly accessing the remote object, the proxy copies the invocation locally and translates it into appropriate remote calls. This copying approach preserves the ease of direct access while enabling efficient communication through localized processing.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS8266631B1Calling a second functionality by a first functionality
Publication Date: 2012.09.11 CALLAHAN CELLULAR LLC
  • US8266631B1 patent drawing
  • US8266631B1 patent drawing
  • US8266631B1 patent drawing

AI summary

A method, system, and computer readable medium for calling a second functionality by a first functionality comprises calling a third functionality by the first functionality, wherein the calling includes passing arguments to the third functionality, calling a fourth functionality by the third functionality, wherein the calling includes passing the arguments to the fourth functionality, calling a fifth functionality via the fourth functionality, wherein the calling includes marshalling a request related to the arguments and passing the marshaled request to the fifth functionality, calling a sixth functionality via the fifth functionality, wherein the calling includes unmarshalling the marshaled request, calling the second functionality by the sixth functionality, wherein the calling includes passing the arguments related to the unmarshalled request to the second functionality, returning a response related to the arguments by the second functionality to the fifth functionality via the sixth functionality, calling the fourth functionality by the fifth functionality, wherein the calling includes marshalling the response and passing the marshaled response to the fourth functionality, returning a reply to the third functionality by the fourth functionality, wherein the reply includes unmarshalling the marshaled response, and returning the unmarshalled response to the first functionality by the third functionality.