Dynamic Software Agent Deployment Without Interruption
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Manual deployment of software agents for background processes in large electronic document management systems is time-consuming and prone to interruptions when the number of servers or processes is changed, leading to inefficiencies and errors.
Innovation Solution
A system for dynamically deploying software agents that allows users to adjust the number of servers dedicated to background processes like OCR and deduplication without interrupting existing processes, using a deployment management console to create isolated application domains and manage agents centrally, enabling seamless transitions and resource allocation changes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If manual agent deployment is used to adjust server allocation, then flexibility in resource management is improved, but system interruptions and errors increase
Solution Approach 1:
The patent introduces an intermediary component (agent deployment manager) that mediates between user requests for resource allocation changes and the actual software agents running on servers. This intermediary enables flexible resource management by allowing users to request changes, while simultaneously protecting system stability by coordinating these changes to avoid interruptions. The manager acts as a buffer that translates high-level user intentions into coordinated low-level actions across multiple servers.
Solution Approach 2:
The system implements self-service capabilities where the agent deployment manager automatically handles the complex coordination of agent deployment and server allocation changes without requiring manual intervention. The system monitors its own state, detects when changes are needed, and executes the appropriate deployment sequences autonomously, thereby providing flexibility while maintaining reliability through automated error prevention.
2Productivity
If background processes are run on multiple servers, then processing capacity is improved, but deployment complexity increases
Solution Approach 1:
The agent deployment manager serves multiple functions within a single unified component: it monitors server states, processes user requests for resource allocation, coordinates agent deployment across multiple servers, and manages the transition of background processes. This multi-functional approach enables the system to scale processing capacity across multiple servers while avoiding the deployment complexity that would arise from having separate specialized components for each function.
Solution Approach 2:
The system manages deployment complexity by dynamically changing parameters such as the number of servers dedicated to specific background processes and the allocation of computing resources. The agent deployment manager provides a unified interface for modifying these parameters across multiple servers, allowing the system to scale processing capacity while abstracting away the complexity of individual server configurations and interdependencies.
3Adaptability or versatility
If server allocation is changed to meet user needs, then adaptability is improved, but process interruptions occur
Solution Approach 1:
The agent deployment manager performs preliminary actions by monitoring server states and preparing for anticipated resource allocation changes before they are actually needed. When a user requests a change in server allocation, the system has already gathered necessary information and can execute the transition smoothly, thereby improving user responsiveness while maintaining process continuity through advance preparation.
Solution Approach 2:
The system implements dynamic resource allocation where the agent deployment manager continuously adapts server allocation based on user needs and system state, but does so in a controlled manner that maintains process continuity. The dynamic adjustment allows the system to be responsive to user requests while the coordination mechanisms ensure that changes are made without interrupting ongoing background processes, balancing adaptability with stability.
Data Source
AI summary
Methods and apparatus for dynamically deploying software agents are disclosed. For example, a user of an electronic record management system may deploy a plurality of different background processes (e.g., OCR, dedup, etc.) that may each take several hours to complete. Subsequently, the user may decide to change the number of servers dedicated to one or more background process. In addition, the user may decide to deploy additional background processes. Neither of these user actions interrupts any of the background processes.


