Packet Filter for Non-Microsoft RPC Compatibility
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Client-server computing 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 utilizes 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 for tunneling data through firewalls without an RPC stack.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If proprietary RPC protocol is used for Microsoft services, then service functionality is provided, but compatibility with non-Microsoft operating systems deteriorates
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 translates and bridges RPC protocol requirements, allowing clients without full RPC stacks to communicate with Microsoft services by filtering and translating packets at the network layer, thus resolving the compatibility issue without requiring clients to implement the complete proprietary RPC software stack
Solution Approach 2:
The patent extracts only the essential RPC communication functionality needed for client-server interaction, implementing a minimal packet filtering solution rather than requiring the complete RPC software stack. By taking out only the critical packet translation capabilities and implementing them as a standalone filter module, the solution provides RPC-like functionality to non-Microsoft clients without the complexity of a full RPC implementation
2Ease of operation
If RPC protocol is required for accessing Microsoft services, then service access is enabled, but firewall restrictions are imposed
Solution Approach 1:
The specialized packet filter acts as a mediator that translates RPC protocol requirements into firewall-friendly packet formats. By positioning the filter between clients and Microsoft services, it converts proprietary RPC traffic into standard network protocols that firewalls permit, enabling service access without requiring firewall configuration changes or disabling security measures
3Adaptability or versatility
If full RPC software stack is implemented on clients, then Microsoft service compatibility is achieved, but device resource consumption increases
Solution Approach 1:
The patent extracts only the essential RPC packet translation functionality and implements it as a lightweight specialized filter rather than requiring the complete RPC software stack. This extracted minimal implementation provides the necessary protocol bridging capabilities while consuming significantly fewer device resources, as it operates as a focused packet filtering component rather than a full-featured RPC implementation with all its associated libraries and services
Data Source
AI summary
In particular embodiments, a method includes receiving a first connection from a client and assigning the client a unique socket. The method further includes selecting, from a plurality of execution hosts, a first execution host for the first connection based at least in part on load-balancing information associated with the execution hosts. Each execution host includes a unique general client engine. The method further includes launching a first transcoding remote desktop client instance at the first execution host in association with the general client engine of the first execution host. The method further includes receiving a second connection from the client, the second connection being associated with the unique socket of the first connection, launching a second transcoding remote desktop client instance at the first execution host in association with the general client engine of the first execution host, and updating the load-balancing information.


