Tenant Service Routing via Dynamic Instance Selection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing network service deployment methods face challenges in scalability and efficient configuration, particularly in managing co-hosted services and dynamically updating service clients with changing network service locations.
Innovation Solution
The implementation of a tenant management service and fleet management service that dynamically deploys and manages tenant services across a pool of host computers, allowing for flexible execution and routing of service requests based on various factors, including resource availability and demand, without requiring all hosts in a hostclass to execute the same services.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If network services are deployed to all hosts within a hostclass, then service consistency is maintained, but scalability and flexibility are reduced
Solution Approach 1:
The patent segments the traditional monolithic hostclass into multiple partitions, each capable of hosting different service instances. This allows independent deployment and management of services across different partitions, enabling flexible service distribution without requiring all hosts in a hostclass to run the same services.
Solution Approach 2:
The patent introduces dynamic service routing and load balancing mechanisms that can adaptively direct service requests to appropriate service instances based on current system state, resource availability, and demand. This dynamic approach replaces static service deployment configurations.
2Productivity
If services are partitioned across multiple host fleets, then scalability is improved, but independent scaling of co-hosted services becomes difficult
Solution Approach 1:
The patent segments services into independent service instances that can be deployed across multiple partitions and host fleets. Each service instance can be independently scaled by adding or removing instances within its partition, allowing independent scaling without affecting other co-hosted services.
Solution Approach 2:
The patent introduces a service routing intermediary that mediates between service requests and service instances. This intermediary enables independent scaling by dynamically routing requests to appropriate instances based on current capacity and demand, allowing services to scale independently across partitions.
3Ease of operation
If configuration files are deployed to each service client, then service location information is provided, but maintenance complexity increases when service locations change
Solution Approach 1:
The patent replaces static configuration files with dynamic service location resolution mechanisms. Service clients can dynamically discover and locate service instances through service registries or routing mechanisms, eliminating the need to manually update configuration files when service locations change.
Solution Approach 2:
The patent implements feedback mechanisms where service clients can query the current location of service instances through service discovery protocols. This allows the system to automatically provide updated service locations without manual configuration updates, reducing maintenance time and effort.
Data Source
AI summary
A routing service provides functionality for selecting an instance of a tenant service for processing a service request and for providing the network location of the selected instance to a service client. The service client may utilize the network location to make a service request to the selected instance of the tenant service. The routing service might also route the service request to the selected instance of a tenant service. The selection of a particular instance of a tenant service for processing a service request may be made based upon various factors including, but not limited to, attributes of the service client making the request and/or attributes of instances of the tenant service being called. The selection of an instance of a tenant service might also be made to implement segmentation, to implement A/B testing, to load balance service requests, and/or to gradually deploy new versions of a tenant service.


