HA Module Automatic Discovery for REST API CLI Generation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing systems require specific code to target specific URLs for communicating with REST APIs, and regular HTTP verb libraries lack High Availability (HA) functionality, making it difficult to manage APIs in environments where the management server's IP/URL frequently changes.
Innovation Solution
Providing a set of libraries for HTTP verbs that function without requiring the URL of the management server, allowing automatic discovery of management nodes and generation of commands using REST API OPTIONS functions, which dynamically build the CLI object to communicate with the API, incorporating Marvin's HA HTTP verbs for complete HA enablement.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If specific code is written to target specific URLs for communicating with REST APIs, then communication with the API is achieved, but the system becomes inflexible when the management server's IP/URL changes frequently
Solution Approach 1:
The patent introduces an intermediary layer (the HTTP verb library with automatic discovery functionality) that sits between the caller and the REST API. This intermediary automatically discovers the management server's location and handles URL resolution, allowing callers to communicate with the API without directly knowing or hardcoding the URL. When the server migrates, the intermediary automatically updates its knowledge of the new location.
Solution Approach 2:
The system enables self-service by allowing the HTTP verb library to automatically discover and update the management server's location without requiring manual configuration changes. The library performs automatic discovery of management nodes and dynamically builds the CLI object to communicate with the API, making the system self-adapting to server migrations.
2Reliability
If regular HTTP verb libraries are used without HA functionality, then implementation is simple, but the system cannot handle High Availability environments where the management server location changes
Solution Approach 1:
The patent creates a universal HTTP verb library that combines both simplicity and High Availability capability. The library provides standard HTTP verb functionality while simultaneously incorporating automatic service discovery and load balancing capabilities. This multi-functional library handles both simple API calls and complex HA scenarios without requiring separate implementations.
Solution Approach 2:
The system performs preliminary action by pre-configuring the HTTP verb library with automatic discovery mechanisms and HA functionality. Before any API calls are made, the library automatically discovers the management server's location and configures itself to handle future calls appropriately, even if the server migrates. This preliminary setup eliminates the need for manual reconfiguration during server changes.
3Extent of automation
If the management server location is hardcoded in the CLI, then direct communication is achieved, but the underlying HA system becomes visible and requires manual updates
Solution Approach 1:
The HTTP verb library performs self-service by automatically discovering and updating the management server's location without requiring manual intervention. The library independently queries the API to obtain the current server location and updates its internal configuration, maintaining automation while keeping the HA system transparent to the caller.
Solution Approach 2:
The system implements feedback mechanisms where the HTTP verb library continuously queries the REST API to discover the current management server location. This feedback loop allows the library to automatically adapt to server migrations, maintaining up-to-date information about the server's current address without manual updates or exposing HA complexity to the caller.
Data Source
AI summary
Systems and methods for communicating with the Representational State Transfer (REST) Application Programming Interface (API), by providing a set of libraries for the Hypertext Transfer Protocol (HTTP) verbs used (that function without providing the Uniform Resource Locator (URL) to the management server in which the REST API resides) are disclosed. A caller requires no knowledge of where the management server is located in a high-availability (HA) situation, in which the management server can easily migrate and the Internet Protocol (IP)/URL can change frequently. A high-availability module automatically searches a command-line interface (CLI) and associated libraries, based on REST API OPTION functions. With each of the resources specified by the OPTIONS on the root (REST API root), the CLI requests the OPTIONS to dynamically build the entire CLI object to communicate with the API. Because of Marvin's HA HTTP verbs, the CLI object is HA enabled, making the HA system's architecture transparent to the calling library or user.


