Packet Filter for Non-Microsoft RPC Protocol Interoperability

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Client-server computer systems face challenges in interfacing between clients and servers due to proprietary protocols, particularly Microsoft's Remote Procedure Call (RPC), which restricts compatibility with non-Microsoft operating systems, limiting access to Microsoft services like Terminal Services Gateway (TSGW) without an RPC software stack.

Innovation Solution

A client-side solution that uses a specialized packet filter to bridge RPC requirements, allowing non-Microsoft clients to access Microsoft services by hardcoding input and output packets with data structures, effectively creating a Microsoft RPC clone without implementing the full RPC software stack, enabling tunneling through firewalls.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If proprietary RPC protocol is used, then Microsoft services can be accessed, but compatibility with non-Microsoft operating systems deteriorates

Engineering Contradiction:
Improveaccess to Microsoft servicesVSAvoidcompatibility with non-Microsoft operating systems
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent introduces a specialized packet filter as an intermediary component that sits between non-Microsoft clients and Microsoft services. This packet filter intercepts and translates network packets, converting proprietary RPC protocol traffic into standard TCP/IP protocols that non-Microsoft operating systems can handle, thereby enabling compatibility without requiring the full RPC software stack on client machines

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent creates a simplified copy or clone of the RPC protocol functionality through the packet filter. Instead of implementing the complete RPC software stack on non-Microsoft clients, the packet filter captures RPC-specific packet patterns and replicates the necessary protocol behavior at the network layer, providing RPC-like access to Microsoft services through standard protocols

Inventive Principle:
Principle #26Copying

2Adaptability or versatility

If full RPC software stack is implemented, then RPC protocol compatibility is achieved, but device complexity increases

Engineering Contradiction:
ImproveRPC protocol compatibilityVSAvoidRPC software stack
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent extracts only the essential RPC protocol translation functionality from the full RPC software stack and relocates it to a specialized packet filter component. This extraction allows the core protocol compatibility feature to be separated from the complex RPC implementation details, enabling non-Microsoft clients to access Microsoft services without burdening them with the entire RPC software stack

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The packet filter serves as an intermediary that handles all RPC protocol translation operations externally to the client application. By placing the protocol translation logic in a separate network-layer component rather than within the client software itself, the patent eliminates the need for complex RPC stack integration in non-Microsoft operating systems

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9521208B2Generic transcoding service with library attachment
Publication Date: 2016.12.13 DELL PROD LP
  • US9521208B2 patent drawing
  • US9521208B2 patent drawing
  • US9521208B2 patent drawing

AI summary

In particular embodiments, a method includes, by a computing device, receiving a connection from a client and assigning the client a unique socket. The method further includes launching a generic transcoding service attached to a runtime library, and the runtime library may be able to intercept system calls from a specific instance of an application executing on a remote client for exporting to the client. The method further includes receiving a termination of the connection by the client and updating load-balancing information.