Naming Service Proxy for Remote Reference Acquisition
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Adaptability or versatility
If multiple protocols are supported for cross-language communication, then adaptability is improved, but device complexity and protocol handling requirements increase
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.
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.
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
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.
Data Source
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.


