Server Mediator for User Lifecycle Event Automation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current software applications lack a uniform method to handle user lifecycle events across various third-party applications, leading to manual, time-consuming, and error-prone administrative tasks, which can result in security risks due to delayed changes in user access rights.

Innovation Solution

A computer-implemented method involving a server that stores lifecycle code modules for third-party applications, identifies user lifecycle events, maps these events to specific API functions, and calls corresponding code modules to update user data across multiple applications, thereby standardizing user lifecycle management.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If administrators manually make changes to user accounts in each third-party application, then changes can be made with full control and visibility, but the process becomes time-consuming and requires more administrator effort

Engineering Contradiction:
Improveaccuracy of user lifecycle event handlingVSAvoidtime required for administrator to make changes
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent introduces a server as an intermediary between administrators and multiple third-party applications. The server receives user lifecycle events, determines the appropriate actions, and automatically propagates changes to all relevant applications. This mediator approach eliminates the need for administrators to manually update each application while maintaining reliable and accurate user lifecycle management across the entire ecosystem.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system enables self-service automation where the server autonomously handles the propagation of user lifecycle events to third-party applications without requiring administrator intervention for each individual update. The server independently determines which applications need updates and executes the changes automatically, freeing administrators from repetitive manual tasks while ensuring consistent and timely updates across all applications.

Inventive Principle:
Principle #25Self-service

2Ease of operation

If administrators manually update user accounts in each application, then specific changes can be controlled, but errors may occur due to forgotten or delayed changes

Engineering Contradiction:
Improvesimplicity of making changesVSAvoidconsistency of user access rights across applications
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The server acts as a centralized intermediary that receives user lifecycle events and automatically propagates appropriate changes to all relevant third-party applications. This ensures that user access rights remain consistent across all applications by eliminating manual update processes that are prone to human error, forgetfulness, or delays. The intermediary approach maintains operational simplicity while significantly improving reliability and consistency.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system implements a feedback mechanism where the server continuously monitors user lifecycle events and automatically triggers appropriate updates across all connected applications. This closed-loop approach ensures that any change in user status (such as termination, transfer, or role change) is immediately reflected across all applications, maintaining consistency and preventing security risks associated with outdated access rights.

Inventive Principle:
Principle #23Feedback

3Adaptability or versatility

If a standardized interface is implemented across all third-party applications, then uniform handling of user lifecycle events is achieved, but applications must adapt to the standard interface

Engineering Contradiction:
Improveflexibility in handling user lifecycle eventsVSAvoidcomplexity of integrating with multiple applications
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements a universal server interface that can handle user lifecycle events across multiple different third-party applications through a single standardized connection point. The server is designed to work with various applications (Salesforce, Workday, Slack, etc.) without requiring each application to implement complex custom integration logic. This universal approach simplifies the system architecture while maintaining the ability to adapt to different application-specific requirements through configurable parameters and metadata.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The server serves as an intermediary layer that abstracts the complexity of integrating with multiple different third-party applications. Instead of requiring each application to directly implement complex integration logic, the server handles the translation and adaptation between the standardized interface and application-specific requirements. This mediator approach reduces device complexity while maintaining high adaptability to handle diverse user lifecycle events across different applications.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentEP4071689A1Flexible implementation of user lifecycle events for applications of an enterprise
Publication Date: 2022.10.12 OKTA INC
  • EP4071689A1 patent drawingFigure 1
  • EP4071689A1 patent drawingFigure 2
  • EP4071689A1 patent drawingFigure 3

AI summary

Users of organizations use many different third-party applications. The organizations use the services of a server to manage and interact with the third-party applications. In particular, the server provides a user lifecycle API that defines a set of user lifecycle events corresponding to changes of the users with respect to their organizations and/or the third-party applications that they use within the organizations. The server further has access to lifecycle code modules corresponding to the different third-party applications and defining how those third-party applications will respond to the user lifecycle events. When a user lifecycle event occurs for a particular user of a particular organization, the server determines the third-party applications to which the organization has given the user access uses the appropriate functionality of the lifecycle code modules of the corresponding third-party applications to implement the appropriate user changes for those applications.