Identity Provider Discovery Proxy Using Publish-Subscribe Caching

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing identity provider instance discovery services in federated environments rely on a 'pull-based' approach, which can be inefficient and time-consuming, especially in geographically distributed setups, as they require frequent requests to external services for instance location and availability information.

Innovation Solution

Integration of a discovery service proxy within the F-SSO environment that caches instance assignments and uses a publication-subscription model to proactively receive updates from an external identity provider instance discovery service, reducing the need for frequent requests and enhancing response times.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If a pull-based approach is used for identity provider instance discovery, then the service can obtain instance location and availability information, but the time required to identify the appropriate identity provider instance increases

Engineering Contradiction:
Improvetime required to identify identity provider instanceVSAvoiddiscovery service efficiency
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The discovery service proxy pre-fetches and caches identity provider instance information before it is actually needed. By proactively retrieving instance location and availability data in advance and storing it locally, the system eliminates the need for time-consuming pull-based requests at the moment of discovery, thus reducing identification time while improving efficiency

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

A discovery service proxy is introduced as an intermediary component between the service provider and the identity provider instances. This proxy maintains a local cache of instance information and handles discovery requests locally when possible, reducing the time and overhead of direct pull-based queries to external services while maintaining accurate instance information

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If frequent requests are made to external services for instance information, then the cache remains updated, but the system becomes less efficient and more time-consuming

Engineering Contradiction:
Improveinstance information accuracyVSAvoidtime for frequent requests
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

Instead of making frequent pull-based requests, the system implements periodic push-based updates where the identity provider instance discovery service sends information to the proxy at predetermined intervals. This maintains reliable, up-to-date instance information in the cache while eliminating the time waste of frequent active polling requests

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The system establishes a feedback mechanism where the identity provider instance discovery service actively pushes updates to the proxy when instance information changes. This feedback loop ensures the cache remains accurate and current without requiring frequent requests from the proxy, thus maintaining reliability while reducing time consumption

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS9596122B2Identity provider discovery service using a publish-subscribe model
Publication Date: 2017.03.14 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US9596122B2 patent drawing
  • US9596122B2 patent drawing
  • US9596122B2 patent drawing

AI summary

A proxy is integrated within an F-SSO environment and interacts with an external identity provider (IdP) instance discovery service. The proxy proxies IdP instance requests to the discovery service and receives responses that include the IdP instance assignments. The proxy maintains a cache of the instance assignment(s). As new instance requests are received, the cached assignment data is used to provide appropriate responses in lieu of proxying these requests to the discovery service, thereby reducing the time needed to identify the required IdP instance. The proxy dynamically maintains and manages its cache by subscribing to updates from the discovery service. The updates identify IdP instance changes (such as servers being taken offline for maintenance, new services being added, etc.) occurring within the set of geographically-distributed instances that comprise the IdP service. The updates are provided via a publication-subscription model such that the proxy receives change notifications proactively.