Dynamic Web Resource Provisioning for Zero-Downtime API Extension
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional web services require complete replacement and system downtime for upgrades, making it difficult to modify or extend their functionality without disrupting service.
Innovation Solution
Dynamic Web Resource Provisioning (DWRP) allows for on-the-fly modification of web services by provisioning web services application programming interface (API) extensions, including new resource definitions and dynamic language code, enabling new functionality without downtime through a director and agent network device communication framework.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If complete replacement of web service is performed for upgrades, then new functionality can be implemented, but system downtime occurs and service availability is disrupted
Solution Approach 1:
The patent implements dynamic web service provisioning where services can be modified, extended, or replaced while running. The system allows runtime addition of service versions and dynamic routing of requests to different versions, enabling upgrades without downtime. This transforms the static web service model into a dynamic one where functionality can change during operation.
Solution Approach 2:
The patent segments the web service into multiple independent versions that can coexist. Instead of replacing the entire service, new versions are deployed as separate components and routed to specific clients. This segmentation allows incremental upgrades and maintains service availability during the transition period.
2Adaptability or versatility
If wholesale change of entire web service is performed, then functionality requirements are met, but system complexity increases and upgrade time is extended
Solution Approach 1:
The patent divides the web service into multiple independent versions that can be deployed and managed separately. Each version can be developed, tested, and deployed independently, reducing the complexity of upgrades. The service registry and routing mechanisms manage the complexity of having multiple versions without requiring changes to the overall system architecture.
Solution Approach 2:
The patent allows preliminary deployment of new service versions before they are activated. New versions can be prepared, tested, and registered in advance, then activated at the optimal time. This preliminary action reduces upgrade complexity by allowing thorough testing and preparation before actual deployment.
3Ease of manufacture
If traditional web service upgrade method is used, then implementation is straightforward, but system downtime occurs and productivity is reduced
Solution Approach 1:
The patent enables dynamic provisioning of web services where upgrades can be applied at runtime without disrupting service. The system dynamically registers new versions, updates routing tables, and transitions clients to new versions seamlessly. This dynamic approach maintains productivity during upgrades while keeping implementation relatively straightforward through automated provisioning mechanisms.
Solution Approach 2:
The patent ensures continuous service availability during upgrades by maintaining multiple concurrent versions and using load balancing to route requests to available versions. The useful action of serving client requests continues uninterrupted while upgrades are applied in the background, eliminating downtime and maintaining productivity.
Data Source
AI summary
In one embodiment, Dynamic Web Resource Provisioning (DWRP) is a web services based mechanism for dynamic web services application programming interface (API) extensibility. A director network device provisions one or more agent network devices with a message in the form of a POST request to a first API. The message includes instruction configured to extend a second API in the agent network device. The director network device delivers dynamic language code to the second API by way of a PUT request.


