Service Consumer API Version Negotiation in 5G Core
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The current 5G core network architecture lacks API version control and feature negotiation between a service consumer and a second service producer when a first service producer subscribes to events on behalf of the consumer, leading to potential service flow disruptions due to incompatible API versions and unsupported features.
Innovation Solution
A method is introduced where a service consumer includes API version and feature information in service request messages to a first service producer, which then determines compatibility and adjusts notifications accordingly, ensuring that only supported API versions and features are used for event reporting.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a first service producer subscribes to events on behalf of a service consumer without API version control and feature negotiation with the second service producer, then the service flow can be established, but compatibility issues arise leading to service flow disruptions
Solution Approach 1:
The service consumer performs preliminary actions by including API version information and feature negotiation data in the service request message before the actual event subscription. This allows the first service producer to pre-validate compatibility with the second service producer, preventing service flow disruptions caused by version mismatches.
Solution Approach 2:
The service consumer acts as an intermediary by mediating the compatibility negotiation between the first service producer and the second service producer. The consumer includes its supported API versions and features in the request, enabling the first producer to select appropriate compatibility parameters when interacting with the second producer.
2Reliability
If API version control and feature negotiation are applied directly between service consumer and producer, then compatibility is ensured, but the mechanism cannot be extended to another service producer in the chain
Solution Approach 1:
The compatibility control mechanism is designed to be universal and multi-functional. The service consumer includes API version information and feature negotiation data that can be applied to multiple service producers in the chain. The first service producer uses this information to ensure compatibility when interacting with the second service producer, extending the mechanism beyond direct consumer-producer pairs.
Solution Approach 2:
The compatibility negotiation is segmented into manageable components: API version information, feature support indicators, and service producer identifiers. These segmented elements are included in the service request message, allowing systematic validation and extension across multiple service producers in the event subscription chain.
3Reliability
If service consumer includes detailed API version and feature information in service requests, then compatibility control is achieved, but message complexity increases
Solution Approach 1:
The service request message structure is enhanced by adding specific parameters: API version information and feature negotiation data. These parameter changes enable precise version control and compatibility validation without fundamentally altering the message structure, maintaining a balance between detailed control and manageable complexity.
Data Source
AI summary
A method (500) performed by a service consumer. The method includes invoking a service provided by a first service producer. Invoking the service comprises generating a service request message and transmitting the service request message to the first service producer. In some embodiments, transmitting the service request message to the first service producer comprises transmitting, to the first service producer, a message comprising a header and a body, the body comprising the service request message and the header comprising service consumer information comprising: i) first feature information that identifies a set of one or more features of a service that is provided by a second service producer and that is supported by the service consumer, and/or ii) first version information that identifies set of one or more versions of an application programming interface (API) for the service provided by the second service producer that is supported by the service consumer.


