Multi-Tenant Web Server Using Message Queues for Dynamic Script Updates

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing web service systems require significant code changes, testing, and deployment whenever fields in a message change, leading to inefficiencies in accommodating inbound message changes.

Innovation Solution

A multi-tenant system architecture with a static web server that queues and processes web service call messages based on endpoint URLs, where only user scripts are updated to accommodate changes, reducing the need for extensive code modifications and deployments.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If traditional web service systems are used, then web services can be implemented with standard protocols, but significant code changes and redeployment are required whenever message fields change

Engineering Contradiction:
Improveadaptability to message changesVSAvoidcode modification complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system segments the web service processing into distinct components: a static web server that handles incoming requests, a message queue that buffers requests, and script handlers that process specific message types. This segmentation allows the processing logic to be updated without affecting the core server infrastructure, enabling adaptability to message changes while maintaining system stability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A message queue is introduced as an intermediary between the web server and the processing scripts. The queue decouples the server from the processing logic, allowing message formats and processing scripts to be updated independently. This intermediary buffer enables the system to adapt to message field changes without requiring server code modifications or redeployment.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If message field changes are accommodated in traditional systems, then new message formats can be supported, but extensive testing and deployment time are required

Engineering Contradiction:
Improvemessage format flexibilityVSAvoiddeployment time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The system employs dynamic script handlers that can be updated and activated without server redeployment. When message fields change, new processing scripts can be developed and loaded into the message queue system dynamically, allowing the web service to adapt to new message formats immediately without the traditional lengthy deployment cycle.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

Processing scripts are prepared and validated in advance within the message queue system before being activated. This preliminary preparation allows for thorough testing of new message format handlers without affecting the running server, and once validated, the scripts can be deployed instantly to handle new message fields, significantly reducing deployment time.

Inventive Principle:
Principle #10Preliminary action

3Stability of the object's composition

If a static web server architecture is used, then system stability is maintained, but flexibility to accommodate inbound message changes is reduced

Engineering Contradiction:
Improvesystem stabilityVSAvoidadaptability to inbound messages
Core Design Contradiction:
Stability of the object's compositionVSAdaptability or versatility

Solution Approach 1:

The system separates the stable web server component from the adaptable processing component. The web server remains static and stable, while the message queue and processing scripts provide the necessary flexibility. This segmentation allows the server to maintain stability while the processing layer adapts to inbound message changes through script updates without requiring server modifications.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The message queue acts as an intermediary layer that provides adaptability without affecting the static web server. New message formats and processing logic can be introduced through the queue and script handlers, allowing the system to adapt to inbound message changes while the core server architecture remains stable and unchanged.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10630671B2Dynamic web services server
Publication Date: 2020.04.21 IVANTI INC
  • US10630671B2 patent drawing
  • US10630671B2 patent drawing
  • US10630671B2 patent drawing

AI summary

A method is provided for a multi-tenant system to accept web service calls from third party systems over a computer network. The method includes centrally receiving messages with different endpoint URLs from the third party systems over the computer network and processing each message by parsing an endpoint URL of the message to identify a tenant and an action for a payload of the message and authenticating the message. When the message is authenticated, the method further includes generating an acknowledgment of the message based on the identified tenant and the identified action and sending the acknowledgment over the computer network, routing the payload, the identified tenant, and the identified the action to a queue based on the identified tenant, retrieving the payload, the identified tenant, and the identified action from the queue, determining a user script corresponding to the identified action, and executing the user script on the payload.