Identity Broker Encoding Arbitrary Identifiers for System Compatibility
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing computer systems face incompatibility issues when integrating new identity providers due to differences in identifiers generated by these providers, such as on-premises and cloud-based directory services using SIDs and GUIDs respectively, leading to substantial code refactoring requirements for each new provider.
Innovation Solution
A system and method that encodes arbitrary identifiers into standard identifiers like SIDs, which are compatible with existing processes, using an intermediate component that executes hash functions and maintains lookup tables for reversible encoding and decoding, allowing seamless integration of new identity providers without extensive code refactoring.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If arbitrary identifiers from new identity providers are used directly, then interoperability with diverse identity providers is improved, but compatibility with existing dependent processes deteriorates
Solution Approach 1:
The patent introduces an intermediate component (broker) that sits between the identity provider and the dependent process. This broker receives arbitrary identifiers from the identity provider, encodes them into standard identifiers that the dependent process can understand, and translates messages back and forth. This intermediary resolves the incompatibility without requiring changes to either the identity provider or the dependent process.
Solution Approach 2:
The patent changes the parameter format of identifiers through encoding and decoding operations. The broker transforms arbitrary identifiers into standard identifiers by applying encoding functions, and transforms standard identifiers back into arbitrary identifiers for communication with the identity provider. This parameter transformation enables compatibility while maintaining support for diverse identifier formats.
2Adaptability or versatility
If code refactoring is performed to support new identity providers, then compatibility with new providers is improved, but device complexity and development effort increase
Solution Approach 1:
The broker acts as an intermediary that handles all the complexity of supporting multiple identity providers. The dependent process only needs to interact with the broker using standard identifiers, while the broker manages the complexity of encoding/decoding and communicating with various identity providers. This isolates the complexity in one component rather than requiring widespread code changes.
Solution Approach 2:
The broker is designed as a universal component that can handle multiple types of identity providers through a single interface. It provides multi-functionality by supporting arbitrary identifier formats from different providers while presenting a consistent standard identifier interface to the dependent process, eliminating the need for provider-specific code paths.
3Adaptability or versatility
If encoding and decoding operations are implemented, then interoperability between arbitrary and standard identifiers is improved, but processing time and computational overhead increase
Solution Approach 1:
The broker performs encoding operations in advance when receiving identifiers from the identity provider, converting them to standard identifiers before the dependent process needs them. This preliminary encoding ensures that the dependent process receives ready-to-use standard identifiers without needing to perform encoding operations itself, reducing overall processing time.
Solution Approach 2:
The broker creates and maintains copies of identifiers in both formats (arbitrary and standard) through encoding and decoding. It keeps the dependent process working with standard identifier copies while maintaining copies in arbitrary format for communication with the identity provider, allowing parallel processing without format conversion delays during critical operations.
Data Source
AI summary
A computer system is provided. The computer system includes a memory and a processor coupled to the memory. The processor is configured to receive a first message from an identity provider, the first message including an arbitrary identifier generated by the identity provider, the arbitrary identifier being incompatible with a dependent process that is reliant upon the identity provider; encode, in response to reception of the first message, the arbitrary identifier into an encoded identifier that is compatible with the dependent process; and transmit a second message including the encoded identifier to the dependent process.


