IP Library › Granted Patent US 9,596,122
Granted Patent B2
US 9,596,122 · App. 13/403,565 · Granted Mar 14, 2017

Identity provider discovery service using a publish-subscribe model

Inventors: Heather Maria Hinton (Austin, TX); Richard James McCarty (Austin, TX); Clifton Steve Looney (Port Saint Lucie, FL)
Assignee: International Business Machines Corporation
H04L41/00H04L63/0815H04L67/16H04L67/28H04L67/2814H04L67/2842H04L67/02
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,596,122
App. No.
13/403,565
Granted
Mar 14, 2017
Kind
B2
Abstract

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.

Claims (32)

1. Apparatus for providing identity provider services in association with an identity provider instance discovery service distinct from and external to the apparatus, comprising:

a processor;

computer memory holding computer program instructions executed by the processor to carry out a set of operations comprising:

as requests for identity provider instances are processed by the identity provider instance discovery service, receiving and storing at the apparatus data identifying the identity provider instances assigned by the identity provider instance discovery service;

receiving at the apparatus an update concerning a resource associated with the identity provider instance discovery service, the update received from the identity provider instance discovery service via a topic-based publish-subscribe notification service;

based on the update received at the apparatus, modifying the data; and

upon receipt of a new request for an identity provider instance, and in lieu of forwarding the new request from the apparatus to the identity provider instance discovery service for handling, using the modified data to identify an identity provider instance for use in responding to the new request.

2. The apparatus as described in claim 1 wherein the data is assignment data that associates a request and an identity provider instance selected by the identity provider instance discovery service to service the request.

3. The apparatus as described in claim 1 wherein the update is received periodically or asynchronously.

4. The apparatus as described in claim 1 wherein the notification service is a Web service provided by the identity provider instance discovery service.

5. The apparatus as described in claim 1 wherein the operations further include subscribing to the update.

6. The apparatus as described in claim 1 wherein the update includes one of: a load associated with one or more of the identity provider instances, availability of one or more identity provider instances, a performance metric associated with one or more identity provider instances, and an existing binding associated with one or more identity provider instances.

7. The apparatus as described in claim 1 wherein the data is modified according to a policy or business logic.

8. A computer program product in a non-transitory computer readable medium for use in a data processing system for providing identity provider services in association with an identity provider instance discovery service distinct from and external to the data processing system, the computer program product holding computer program instructions which, when executed by the data processing system, perform operations comprising:

as requests for identity provider instances are processed by the identity provider instance discovery service, receiving and storing at the data processing system data identifying the identity provider instances assigned by the identity provider instance discovery service;

receiving at the data processing system an update concerning a resource associated with the identity provider instance discovery service, the update received from the identity provider instance discovery service via a topic-based publish-subscribe notification service;

based on the update received at the apparatus, modifying the data; and

upon receipt of a new request for an identity provider instance, and in lieu of forwarding the new request from the data processing system to the identity provider instance discovery service for handling, using the modified data to identify an identity provider instance for use in responding to the new request.

9. The computer program product as described in claim 8 wherein the data is assignment data that associates a request and an identity provider instance selected by the identity provider instance discovery service to service the request.

10. The computer program product as described in claim 8 wherein the update is received periodically or asynchronously.

11. The computer program product as described in claim 8 wherein the notification service is a Web service provided by the identity provider instance discovery service.

12. The computer program product as described in claim 8 wherein the operations further include subscribing to the update.

13. The computer program product as described in claim 8 wherein the update includes one of: a load associated with one or more of the identity provider instances, availability of one or more identity provider instances, a performance metric associated with one or more identity provider instances, and an existing binding associated with one or more identity provider instances.

14. The computer program product as described in claim 8 wherein the data is modified according to a policy or business logic.

15. A system for identifying identity provider instances, comprising:

a proxy supported on a hardware element and having a cache associated therewith, the proxy issuing identity provider instance discovery requests;

an identity provider instance discovery service that receives each identity provider instance discovery request issued by the proxy, makes a selection, and returns to the proxy, for storage in its cache, data identifying the selection, the identity provider instance discovery service distinct from and external to the proxy; and

a topic-based publish-subscribe notification service by which the proxy subscribes to receive updates from the identity provider instance discovery service, at least one update concerning a resource associated with the identity provider instance discovery service and being used by the proxy to update the data stored in its cache;

wherein at least one new identity provider instance discovery request is handled by the proxy using the updated data stored in its cache in lieu of the proxy issuing the new identity provider instance discovery request to the identity provider instance discovery service for handling.

16. The system as described in claim 15 wherein the notification service operates according to a publish-subscribe model.

17. The system as described in claim 15 wherein the updates are provided periodically or asynchronously.

18. The system as described in claim 15 wherein the data stored in the cache is updated according to a policy or business logic.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 23, 2012
From: HINTON, HEATHER MARIA; MCCARTY, RICHARD JAMES; LOONEY, CLIFTON STEVE
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 027753/0686 →
Continuity (1)
Related Publication 20130227099A1 · Aug 29, 2013