Live Directory for Inter-Tenant Cloud Communication
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In cloud-based computing, tenants hosted on the same infrastructure face challenges in communicating and collaborating directly due to high isolation between virtual machines, requiring them to use the broader wide area network instead of a local area network for inter-tenant interaction.
Innovation Solution
A live directory system within the cloud infrastructure aggregates and distributes sharing and availability information to establish back-end connections between cloud-based services of different tenants, enabling direct communication and collaboration across the local area network.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If virtual machines are used to host software applications for multiple tenants on shared hardware, then resource utilization and isolation are improved, but direct communication between tenants via the back-end local area network is blocked
Solution Approach 1:
A live directory service acts as an intermediary between isolated virtual machines, enabling them to discover and communicate with each other. The live directory maintains presence information about services across tenants and provides a mechanism for services to locate and establish connections with services from other tenants through the back-end network, without compromising the isolation provided by virtual machines.
Solution Approach 2:
The live directory service performs multiple functions: it serves as a service registry, a presence server, and a communication broker. It handles service discovery, availability monitoring, and connection establishment across multiple tenants and services, providing a universal solution for inter-tenant communication that works across different virtual machine configurations and tenant arrangements.
2Reliability
If tenants communicate through the front-end wide area network, then isolation is maintained, but communication efficiency and bandwidth are reduced
Solution Approach 1:
The network communication path is segmented into two distinct channels: the front-end wide area network for public access and the back-end local area network for efficient inter-service communication. The live directory enables services to utilize the appropriate network segment based on their communication needs, allowing high-bandwidth applications like videoconferencing and large file transfers to occur through the faster back-end network while maintaining tenant isolation.
3Productivity
If a live directory is implemented to enable back-end communication, then communication efficiency is improved, but system complexity increases
Solution Approach 1:
The live directory is implemented as a self-service system where services automatically register themselves, publish their presence information, and update their own availability status. Services can independently query the live directory for other services and establish connections without requiring manual configuration or complex coordination, reducing the operational complexity despite the added architectural component.
Data Source
AI summary
A system for enabling communication between multiple cloud-based services operating on a common cloud infrastructure includes a cloud infrastructure providing cloud-based services. The cloud-based services include a first service of a first tenant and a second service of a second tenant. A live directory is located within the cloud infrastructure and aggregates and distributing sharing and availability information pertaining to one or more of the cloud-based services. A back-end network is within the cloud infrastructure and enables communication between the cloud-based services and the live directory. A wide area network enables communication between the cloud-based services and one or more remote clients. The sharing and availability information pertaining to one or more of the cloud-based services aggregated and distributed by the live directory is used to establish a back-end connection between the first service of the first tenant and the second service of a second tenant.


