Stem Service Morphing for Microservice Routing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In microservices-based OSS infrastructure, the large number of interconnections among microservices can lead to issues such as revisions getting out of sync, load balancing difficulties, and troubleshooting challenges, resulting in slow performance, crashes, and increased operations costs.
Innovation Solution
The introduction of stem services that can morph into other microservices, allowing for dynamic routing and instantiation of necessary services, along with a virtual directory service and enhanced load balancing, to manage and configure microservices effectively.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If microservices are used to replace large OSS systems, then system flexibility and independent deployment capability are improved, but the number of interconnections increases by order of N-squared leading to management complexity
Solution Approach 1:
The patent introduces a service registry as an intermediary component that centralizes the management of microservice interconnections. Instead of each microservice maintaining direct connections to all other services, they all connect through the registry which routes requests and manages service discovery. This reduces the effective complexity from O(N²) direct connections to O(N) connections through the registry.
Solution Approach 2:
The service registry performs multiple functions simultaneously: service discovery, load balancing, routing, and service lifecycle management. By consolidating these functions into a single universal component, the patent reduces the overall system complexity while maintaining the benefits of microservices architecture.
2Reliability
If traditional integration testing is performed for each OSS module, then interface compatibility is verified, but the process is time-consuming and does not scale to microservices
Solution Approach 1:
The patent implements self-testing capabilities where microservices automatically verify interface compatibility through the service registry without requiring manual integration testing. The registry maintains interface contracts and automatically validates that service implementations meet these contracts, enabling continuous validation without time-consuming manual testing processes.
Solution Approach 2:
Interface contracts and service definitions are established in advance in the service registry before actual service deployment. This preliminary definition of interfaces allows for automated validation and reduces the need for time-consuming integration testing later, as compatibility is verified proactively during service registration.
3Productivity
If microservices are upgraded independently, then deployment agility is improved, but revisions can get out of sync causing downstream services to break
Solution Approach 1:
The service registry implements feedback mechanisms that monitor service version compatibility. When a microservice is upgraded, the registry automatically checks whether the upgrade maintains interface contract compliance and notifies dependent services. This feedback loop ensures that revisions remain synchronized and prevents downstream service breakages while maintaining deployment agility.
Solution Approach 2:
The system dynamically adapts to service upgrades by automatically updating service registries and routing configurations. When services are upgraded independently, the system dynamically reconfigures service connections and validates compatibility in real-time, maintaining revision synchronization without requiring coordinated deployment of all services.
4Productivity
If stem services are introduced for dynamic routing, then service request handling efficiency is improved, but system architecture complexity increases
Solution Approach 1:
The patent merges the stem service functionality with the existing service registry into a single unified component. Instead of adding separate stem services that increase architecture complexity, the registry is enhanced to perform dynamic routing, service instantiation, and request forwarding functions. This consolidation maintains request handling efficiency while avoiding additional architectural complexity.
Data Source
AI summary
A method for managing systems with interrelated microservices with self-assembling and self-configuring microservices includes receiving at a first micro service a service request from a client. A determination is the made whether the first micro service is capable of processing the service request. If the first micro service is capable of processing the service requests, then processing the service request; if the first micro service cannot process the service request then routing the service request to a first stem service. The first stem service determines whether there is a second micro service that can process the service request. If the second micro service that can process the service requests exists, then forwarding the service request to the second micro service for processing. If there is no second micro service that can service the service requests then morphing the first stem service into a micro service that can service the service request.


