Network Address Sharing in Multitenant Monolithic Applications
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional approaches to running multitenant, monolithic applications require nonoverlapping IP address ranges, limiting the ability to meet customer specifications for network resources and restricting realistic testing and training exercises, as servers cannot operate with actual network addresses used by tenants during production.
Innovation Solution
The technique involves generating multiple network namespaces on a server, allowing tenants to access a monolithic application thread through sockets in these namespaces, with each namespace having its own independent set of network addresses that can overlap, enabling data exchange between the server and tenants using virtual local area network (VLAN) identifiers.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If tenants are assigned nonoverlapping IP address ranges in a monolithic application, then network address conflicts are avoided, but the server cannot meet customer specifications for network resources and cannot perform realistic testing with actual network addresses
Solution Approach 1:
The patent divides the network namespace into multiple isolated instances, each assigned to a specific tenant. This segmentation allows each tenant to have their own independent network address space with full control over IP addresses, while the underlying monolithic application remains shared. The network namespace acts as a virtualization layer that separates tenant network environments without requiring separate application instances.
2Quantity of substance
If a single runtime instance serves multiple tenants, then total cost of ownership is reduced, but each tenant cannot have customized network resource allocations
Solution Approach 1:
The patent introduces network namespaces as an intermediary layer between the shared monolithic application and individual tenants. This intermediary enables customized network resource allocation for each tenant while maintaining application consolidation. The network namespace acts as a virtualization boundary that allows independent network configuration without duplicating the application runtime instance.
3Reliability
If production software runs over the network with actual tenant addresses, then realistic testing cannot be performed simultaneously, but network address availability is limited
Solution Approach 1:
The patent segments the network environment into isolated namespaces that allow simultaneous production and testing operations. Each namespace can be configured independently, enabling realistic testing with actual network addresses in one namespace while production software runs in another namespace with different address allocations, eliminating conflicts between testing and production activities.
Data Source
AI summary
Improved techniques of running multitenant applications involve opening sockets in multiple network namespaces through which respective tenants may access a monolithic application thread. A server running such an application may assign tenants network bandwidth through one or more network namespaces. Each network namespace has its own independent set of network addresses that may overlap or even be identical to another namespace's set of network addresses. The server may then identify a request to access application data with a particular tenant by network identifiers such as virtual local area network (VLAN) identifiers attached to the request. Thus, even though two established sockets may include identical source and destination addresses, data may be exchanged between the server and the intended tenants.


