Multi-tenant Web Session Cookie Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current web applications that support multiple tenants face challenges in maintaining sessions for users across different tenants, requiring users to log in again for every context switch, which is inefficient and inconvenient.

Innovation Solution

A method and system that receive a request with a tenant identifier and a set of session cookies from a browser, select the appropriate session cookie based on the tenant identifier, and use it to handle the request, enabling users to interact with multiple tenants in parallel without needing to log in again.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If tab-based session storage is used for different tenants, then independent sessions can be maintained in different browser tabs, but it is not possible to use an already-existing session in an additional browser tab

Engineering Contradiction:
Improvesession maintenanceVSAvoidsession reusability
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent implements a session management system where session cookies are not bound to specific browser tabs but are available system-wide. The web application server maintains a mapping between session identifiers and tenant identifiers, allowing any browser tab to access any existing session. This universal session access mechanism resolves the contradiction by making sessions reusable across multiple tabs while maintaining independent session states for different tenants.

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

2Duration of action of stationary object

If session identifier is forwarded in the URL, then sessions can be maintained during browser shut-downs and in multiple tabs, but session identifiers are considered sensitive information and may be exposed

Engineering Contradiction:
Improvesession persistenceVSAvoidinformation exposure
Core Design Contradiction:
Duration of action of stationary objectVSObject-affected harmful factors

Solution Approach 1:

The patent extracts the session identifier from the URL and places it in browser cookies instead. The session management system maintains a mapping between session identifiers and tenant identifiers on the server side. This extraction removes sensitive session information from URLs while preserving session persistence across browser shutdowns and tabs, as cookies are stored securely in the browser and automatically sent with requests.

Inventive Principle:
Principle #2Taking out (Extraction)

3Reliability

If multiple cookie stores are maintained manually, then sessions for different tenants can be maintained in parallel, but additional effort is required by the user

Engineering Contradiction:
Improvemulti-tenant session maintenanceVSAvoiduser effort
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent implements an automated session management system where the web application server automatically selects the appropriate session cookie based on the tenant identifier in the URL. The system retrieves the tenant identifier from the request, looks up the corresponding session cookie, and uses it to handle the request. This self-service mechanism eliminates the need for users to manually manage multiple cookie stores, as the system automatically maintains and switches between sessions for different tenants.

Inventive Principle:
Principle #25Self-service

4Productivity

If a single session is used for multiple tenants, then login frequency is reduced, but tenant-specific context is lost

Engineering Contradiction:
Improvelogin frequencyVSAvoidtenant context
Core Design Contradiction:
ProductivityVSLoss of information

Solution Approach 1:

The patent segments the session management by creating separate session cookies for each tenant, with each cookie containing a session identifier specific to that tenant. The web application server maintains a mapping between session identifiers and tenant identifiers, allowing it to retrieve the correct tenant context when a session cookie is presented. This segmentation enables users to maintain multiple tenant-specific sessions simultaneously without repeated logins, as each tenant has its own isolated session data.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10645173B2Session handling for multi-user multi-tenant web applications
Publication Date: 2020.05.05 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10645173B2 patent drawing
  • US10645173B2 patent drawing
  • US10645173B2 patent drawing

AI summary

A method for managing access to a web application. A request is received, by a computer system, including a tenant identifier for a tenant within a universal resource locator for the web application on a server in the computer system from a browser. A set of session cookies for the web application from the browser is received, by the computer system, wherein the set of session cookies has tenant identifiers and session identifiers. A session cookie in the set of session cookies corresponding to the tenant identifier within the universal resource locator as a selected session cookie is selected, by the computer system, when the session cookie corresponding to the tenant identifier is present in the set of session cookies. The selected session cookie is used, by the computer system, to handle the request.