API Resource Proxy Routing for Shared URIs in Service Meshes
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Distributed service platforms face challenges in managing resources due to confusion caused by common resource type names in URIs, leading to incorrect routing of API requests and inefficient use of computing resources.
Innovation Solution
Implementing a resource proxy with access to a resource directory service that accurately routes API requests by transforming them into a common metadata framework and using resource directory information to identify the correct resource provider, even with shared resource type names.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If common resource type names are used in URIs across multiple services, then resource sharing and URI simplicity are improved, but routing accuracy and service identification deteriorate
Solution Approach 1:
The patent introduces a service mesh as an intermediary layer between clients and services. The service mesh includes a service gateway that intercepts API requests with common resource type names, resolves the actual service identifiers using a service registry, and forwards requests to the correct services. This mediator enables resource sharing through common names while maintaining accurate routing through the resolution mechanism.
Solution Approach 2:
The patent segments the system into multiple independent components: service registry, service gateway, service mesh, and target services. The service registry stores the mapping between common resource type names and actual service identifiers. The service gateway handles the resolution logic separately from the target services, allowing URI simplicity while preserving routing accuracy through distributed segmentation of concerns.
2Device complexity
If API requests are routed without a service mesh, then system complexity is reduced, but request routing accuracy and resource management efficiency deteriorate
Solution Approach 1:
The service mesh acts as a specialized intermediary that handles routing complexity centrally. Rather than embedding routing logic in each service or client, the service mesh gateway provides a unified routing mechanism that improves resource management efficiency while keeping individual service components simple. The complexity is localized to the mesh infrastructure rather than distributed throughout the system.
Solution Approach 2:
The service mesh implements feedback mechanisms where the service gateway queries the service registry to obtain routing information, and the system monitors request routing outcomes to optimize resource allocation. This feedback loop enables efficient resource management by dynamically adjusting routing based on service registry information and operational metrics.
3Measurement precision
If service-specific resource names are used instead of common names, then routing accuracy is improved, but resource sharing and URI usability deteriorate
Solution Approach 1:
The service gateway serves as a translator intermediary between the client's perspective (using common resource type names for usability) and the service implementation perspective (using specific service identifiers for accuracy). The gateway receives URIs with common names, resolves them through the service registry, and forwards to services with precise identifiers, hiding the complexity from users while maintaining both usability and accuracy.
Solution Approach 2:
Instead of requiring clients to use complex service-specific names, the system inverts the approach by having the service gateway translate common names to specific identifiers. The resolution direction is reversed: rather than clients looking up specific service names, the gateway performs the lookup using common resource type names from the URI, thereby improving usability while maintaining routing accuracy.
Data Source
AI summary
Methods and systems for managing data, resources, services, or the like in a distributed service system (e.g., a distributed service platform) are disclosed. Application programming interface (API) requests (e.g., API calls) containing short-form uniform resource identifiers (URI) having shared resource type names may be correctly and accurately routed to one or more resource providers (e.g., computing devices) making up the distributed service system that host instances of API(s). Such routing may be achieved even by users of the distributed service system that are not familiar with all of the instances and/or versions of APIs available on the distributed service system.


