Legal claims defining the scope of protection. Each claim is shown in both the original legal language and a plain English translation.
1. A method comprising: configuring a plurality of floating IP addresses for a system, the plurality of floating IP addresses comprising (a) a first floating IP address that is associated with a first set of performance characteristics and (b) a second floating IP address that is associated with a second set of performance characteristics; wherein the first set of performance characteristics and the second set of performance characteristics are each associated with respective levels of connection reliability and connection speed; wherein the first set of performance characteristics and the second set of performance characteristics are different with regard to at least one of: connection reliability and connection speed; responsive to receiving a request to assign a floating IP address to an application: determining an application classification for the application; mapping the application classification to the first set of performance characteristics associated with the first floating IP address; selecting the first floating IP address, from the plurality of floating IP addresses, for use by the application as a source address based on the mapping of the application classification to the first set of performance characteristics associated with the first floating IP address; and assigning the first floating IP address to the application.
2. The method of claim 1 , wherein the first floating IP address is associated with a first set of network adapters, wherein a first network adapter in the first set of network adapters comprises a first Network Interface Card (NIC).
3. The method of claim 1 , wherein the application classification is based on at least one of: a priority, a task type, and a restart cost associated with the application.
A method for classifying applications in a computing system to optimize resource allocation and system performance. The method addresses the challenge of efficiently managing multiple applications with varying importance and operational characteristics, ensuring critical tasks are prioritized while minimizing disruptions from less essential processes. The classification process evaluates applications based on at least one of three key factors: priority, task type, and restart cost. Priority determines the relative importance of an application, allowing the system to allocate resources to high-priority tasks first. Task type categorizes applications by their function, such as background processes, user-facing applications, or system utilities, enabling tailored resource management. Restart cost assesses the impact of terminating and restarting an application, ensuring that applications with high restart costs (e.g., those requiring significant time or resources to resume) are handled with caution. By considering these factors, the method dynamically adjusts resource allocation, improves system efficiency, and reduces unnecessary interruptions. This approach is particularly useful in environments where multiple applications compete for limited resources, such as mobile devices, servers, or embedded systems.
4. The method of claim 1 , wherein: receiving the request to assign the floating IP address to the application is responsive to the application receiving a request for service from a user of the application, wherein fulfilling the request requires a connection to a second application; and selecting the first floating IP address, from the plurality of floating IP addresses, for use by the application as a source address is further based on credentials associated with the user requesting service.
This invention relates to dynamic assignment of floating IP addresses in a networked computing environment, particularly for applications requiring secure and efficient communication with other applications. The problem addressed is the need for applications to dynamically obtain and use appropriate floating IP addresses when initiating connections to other applications, especially when such connections must be authenticated or authorized based on user credentials. The method involves receiving a request from an application to assign a floating IP address, where this request is triggered by the application receiving a service request from a user. The application requires a connection to a second application to fulfill the user's request. The system selects a floating IP address from a pool of available addresses for the application to use as a source address, with the selection based on credentials associated with the user. This ensures that the IP address used for the connection is appropriate for the user's identity or access level, enhancing security and proper routing. The method may also involve validating the user's credentials before assigning the IP address and ensuring the selected address meets any network or policy requirements for the connection. This approach improves flexibility and security in dynamic network environments where applications frequently interact with other services.
5. The method of claim 1 , wherein the first set of performance characteristics is associated with a first set of network adapters, and wherein the method further comprises: responsive to detecting a change associated with the application classification: modifying the first set of network adapters associated with the first floating IP address.
This invention relates to network adapter management in a computing environment, specifically addressing the dynamic adjustment of network adapters based on application classification changes. The problem solved is the static assignment of network adapters to floating IP addresses, which can lead to inefficiencies when application workloads or network conditions change. The method involves monitoring application classifications and dynamically modifying the set of network adapters assigned to a floating IP address in response to detected changes. Initially, a first set of network adapters is associated with a floating IP address, and these adapters are characterized by a first set of performance metrics, such as bandwidth, latency, or throughput. When a change in the application classification is detected—such as a shift in workload type, priority, or network requirements—the system modifies the network adapters assigned to the floating IP address. This modification ensures that the adapters better match the updated performance requirements of the application, optimizing network performance and resource utilization. The method may involve reassigning adapters, adjusting their configurations, or selecting new adapters with different performance characteristics to align with the new application classification. This dynamic approach improves adaptability and efficiency in network resource management.
6. The method of claim 1 , the method further comprising: maintaining a plurality of connections associated with the application, wherein each connection in the plurality of connections is associated with a different floating IP address from the plurality of floating IP addresses; and selecting one of the plurality of connections to execute a task associated with the application.
This invention relates to networked applications that manage multiple connections with distinct floating IP addresses. The problem addressed is efficiently distributing tasks across these connections to optimize performance, load balancing, or redundancy. The method involves maintaining a pool of active connections, each linked to a unique floating IP address from a predefined set. When a task needs execution, the system dynamically selects one of these connections to handle it. This selection can be based on factors like connection availability, load distribution, or specific routing requirements. The approach ensures tasks are processed through the most suitable connection, improving reliability and scalability in distributed systems. The floating IP addresses allow flexible reassignment of connections without disrupting ongoing operations, enhancing system adaptability. This method is particularly useful in cloud computing, virtualized environments, or any system requiring dynamic IP management and task distribution.
7. The method of claim 1 , wherein the application comprises a plurality of threads of execution, a first thread of the plurality of threads of execution associated with a first network connection, and a second thread of the plurality of threads of executions associated with a second network connection distinct from the first network connection; and the method further comprising: selecting the first floating IP address further based on attributes associated with the first thread of the application, selecting the second floating IP address based on attributes associated with the second thread of the application; and the first thread using the first floating IP address for communication over the first network connection, and the second thread using the second floating IP address for communication over the second network connection.
This invention relates to network communication management in applications with multiple threads of execution. The problem addressed is efficiently assigning floating IP addresses to different threads within a multi-threaded application to optimize network communication. In a multi-threaded application, each thread may require a distinct network connection, and assigning floating IP addresses based on thread attributes ensures proper routing and resource allocation. The method involves selecting a first floating IP address for a first thread based on its attributes, such as priority, workload, or network requirements, and associating it with a first network connection. Similarly, a second floating IP address is selected for a second thread based on its attributes and linked to a second network connection. This ensures that each thread communicates over its designated network connection using the appropriate floating IP address, improving network efficiency and reducing conflicts. The approach allows dynamic IP assignment tailored to thread-specific needs, enhancing scalability and performance in distributed systems.
8. The method of claim 1 , the method further comprising: terminating usage of the first floating IP address responsive to detecting that the first floating IP address is not assigned to any network connection.
A system and method for managing floating IP addresses in a network environment addresses the challenge of efficiently allocating and deallocating IP addresses to maintain network connectivity and resource utilization. The method involves dynamically assigning a first floating IP address to a network connection when needed, ensuring seamless communication between devices. To optimize resource usage, the method includes monitoring the assignment status of the floating IP address. If the first floating IP address is detected as unassigned to any active network connection, the system automatically terminates its usage, freeing the IP address for reassignment. This ensures that unused IP addresses do not remain allocated unnecessarily, improving network efficiency and reducing potential conflicts. The method may also involve tracking multiple floating IP addresses and their respective assignments to different network connections, ensuring that each IP address is properly managed and deallocated when no longer in use. By automating the termination of unused floating IP addresses, the system minimizes administrative overhead and enhances network performance.
9. The method of claim 1 , wherein the application is a first database application executing on an application server, the database application communicating over a particular database connection with a database management application executing on a database server; wherein the application server uses a floating IP address as a source address for a particular network connection to communicate with a database server; and the method further comprising: the database application relinquishing the particular database connection, and the particular database connection returning to a pool of database connections; a second database application executing on the application server requesting a database connection to the database management application; selecting the particular database connection from the pool of database connections based on: (a) attributes of the second database application, and (b) a classification associated with the floating IP address used as the source address for the particular network connection to communicate with the database server; and assigning the particular database connection to the second database application.
This invention relates to database connection management in distributed systems, specifically addressing the challenge of efficiently reusing database connections in environments where applications share a floating IP address for communication with a database server. In such systems, multiple database applications running on an application server may need to establish connections to a database management system (DBMS) on a database server. The problem arises when a database application relinquishes a connection, and another application later requests a connection, requiring the system to intelligently select and assign the available connection based on application attributes and network characteristics. The method involves a first database application executing on an application server, which communicates with a database management application on a database server over a specific database connection. The application server uses a floating IP address as the source address for this connection. When the first application releases the connection, it returns to a pool of available database connections. A second database application on the same server then requests a new connection. The system selects the previously used connection from the pool based on two criteria: (1) the attributes of the second database application and (2) the classification associated with the floating IP address used for the original connection. The connection is then assigned to the second application, ensuring efficient reuse while maintaining appropriate context for the new application. This approach optimizes resource utilization and reduces connection overhead in dynamic, multi-application environments.
10. The method of claim 1 , wherein the application is a first application that communicates with a second application over a common subnetwork; wherein the first floating IP address is a private IP address that is: (a) allocated after receiving the request to assign a floating IP address to the application, and (b) not in use when the request to assign a floating IP address to the application is received.
This invention relates to network communication management in distributed systems, specifically addressing the dynamic assignment of floating IP addresses to applications within a shared subnetwork. The problem solved involves efficiently managing IP address allocation to ensure seamless communication between applications while avoiding conflicts and ensuring availability. The method involves assigning a floating IP address to an application, where the application is a first application that communicates with a second application over a common subnetwork. The floating IP address is a private IP address that is allocated only after receiving a request to assign it to the application. Additionally, the IP address must not be in use when the request is received, ensuring no conflicts arise during assignment. This dynamic allocation process helps maintain network stability and prevents IP address collisions, particularly in environments where multiple applications share the same subnetwork. The method ensures that the assigned IP address is available and ready for use immediately upon allocation, facilitating uninterrupted communication between the applications. This approach is particularly useful in cloud computing and virtualized environments where IP address management is critical for scalability and reliability.
11. The method of claim 1 , wherein the application is a first application on a first subnetwork that communicates with a second application on a second subnetwork that is different from the first subnetwork; wherein the first floating IP address is a public IP address, and at the time the request to assign a floating IP address to the application is received: (a) the first floating IP address was previously included in a routing table; and (b) the first floating IP address is not bonded to a network adapter.
This invention relates to network communication management in distributed systems, specifically addressing challenges in dynamically assigning and managing floating IP addresses across subnetworks. The problem solved involves efficiently routing network traffic between applications operating on different subnetworks while ensuring IP address availability and proper network adapter binding. The method involves a first application on a first subnetwork communicating with a second application on a second, distinct subnetwork. A floating IP address, specifically a public IP address, is assigned to the first application upon request. At the time of assignment, the floating IP address must meet two conditions: it must already be present in a routing table, indicating it is recognized by the network infrastructure, and it must not be bonded to any network adapter, ensuring it is available for reassignment. This approach ensures seamless communication between subnetworks while maintaining network stability and preventing IP address conflicts. The method supports dynamic IP address management in cloud computing, virtualized environments, or other distributed systems where applications span multiple subnetworks.
12. The method of claim 1 , wherein the first set of performance characteristics associated with the first floating IP address are a function of a first set of network adapters selected for implementing the first floating IP address.
This invention relates to network communication systems, specifically methods for dynamically assigning performance characteristics to floating IP addresses based on selected network adapters. The problem addressed is the need for flexible and scalable network configurations where IP addresses can be dynamically assigned to different network adapters, each with distinct performance capabilities, without requiring manual reconfiguration. The method involves associating a floating IP address with a first set of performance characteristics determined by a first set of network adapters used to implement that IP address. When the floating IP address is reassigned to a second set of network adapters, its performance characteristics are updated accordingly. This allows the system to adapt to changing network conditions or workload demands by dynamically adjusting the performance attributes of the IP address based on the underlying hardware resources. The performance characteristics may include bandwidth, latency, throughput, or other metrics relevant to network communication. The method ensures that the floating IP address maintains consistent performance expectations by automatically recalculating its characteristics whenever the associated network adapters change. This eliminates the need for manual intervention and improves system efficiency in dynamic network environments. The approach is particularly useful in virtualized or cloud computing environments where network resources are frequently reassigned.
13. The method of claim 1 , wherein determining the application classification for the application comprises determining the application classification based on a set of attributes associated with the application.
A system and method for classifying applications based on their attributes to improve security and operational efficiency. The technology addresses the challenge of accurately identifying and categorizing applications in a computing environment, which is critical for security, compliance, and resource management. Applications often exhibit diverse behaviors and characteristics, making manual classification inefficient and error-prone. The invention automates this process by analyzing a set of attributes associated with each application, such as its execution patterns, resource usage, network behavior, and installed components. These attributes are evaluated to determine the application's classification, which may include categories such as productivity software, security tools, or malicious programs. The classification is then used to enforce security policies, allocate resources, or trigger automated actions. By leveraging attribute-based classification, the system ensures consistent and reliable application management, reducing the risk of misclassification and improving overall system security. The method may also integrate with existing security frameworks to enhance threat detection and response capabilities. The invention is particularly useful in enterprise environments where large numbers of applications must be monitored and managed efficiently.
14. The method of claim 1 , wherein mapping the application classification to the first set of performance characteristics associated with the first floating IP address comprises (a) determining a level of service necessary for the application based on the application classification and (b) determining that the first set of performance characteristics meets the level of service.
This invention relates to optimizing network performance for applications by dynamically mapping application classifications to performance characteristics of network resources, specifically floating IP addresses. The problem addressed is ensuring that applications receive appropriate network performance based on their requirements, which can vary widely depending on the application type. The method involves classifying an application into a specific category, such as high-priority, low-latency, or bandwidth-intensive, and then determining the required level of service for that application. For example, a video streaming application may require low latency and high bandwidth, while a background data sync application may tolerate higher latency but still need reliable connectivity. The method then evaluates the performance characteristics of available floating IP addresses, such as latency, throughput, and reliability, to determine if they meet the required level of service. If a match is found, the application is assigned to that floating IP address, ensuring optimal performance. If no suitable floating IP address is available, the method may either allocate a new one with the required characteristics or adjust existing resources to meet the demand. This dynamic mapping ensures that network resources are efficiently utilized while meeting application-specific performance needs.
15. The method of claim 1 , wherein the request to assign the floating IP address to the application is received subsequent to the configuring the first floating IP address that is associated with the first set of performance characteristics.
In the field of network management, particularly in cloud computing and virtualized environments, dynamically assigning floating IP addresses to applications is essential for load balancing, failover, and scalability. A key challenge is ensuring that applications receive the appropriate network resources, including IP addresses with specific performance characteristics, without manual intervention or service disruption. This invention addresses this problem by providing a method for dynamically assigning a floating IP address to an application based on predefined performance characteristics. The method involves initially configuring a first floating IP address associated with a first set of performance characteristics, such as bandwidth, latency, or availability. After this configuration, a request is received to assign this floating IP address to an application. The system then processes the request, ensuring the application is assigned the floating IP address with the desired performance traits. This approach allows for flexible and automated IP address management, improving network efficiency and reducing administrative overhead. The method may also involve validating the request, verifying compatibility with the application's requirements, and ensuring seamless integration with existing network infrastructure. By dynamically assigning floating IP addresses based on performance needs, the invention enhances scalability and reliability in networked environments.
16. A method comprising: receiving a request for an IP address for an application; determining an application classification for the application; configuring a new floating IP address, for the application, based on the application classification associated with the application wherein configuring the new floating IP address comprises: selecting a level of service for the new floating address based on the application classification; selecting a set of network adapters, meeting the selected level of service, for processing packets addressed to the new floating IP address; and assigning the new floating IP address to the application.
This invention relates to dynamic IP address assignment in networked systems, addressing the challenge of efficiently allocating IP addresses based on application requirements. The method involves receiving a request for an IP address for an application and determining the application's classification, which defines its network service needs. Based on this classification, a new floating IP address is configured with a specific level of service. The level of service is selected to match the application's classification, ensuring optimal performance. A set of network adapters capable of meeting the selected service level is then chosen to handle packets addressed to the new IP. Finally, the floating IP address is assigned to the application. This approach allows for flexible and scalable IP address management, ensuring that applications receive network resources tailored to their needs. The method dynamically adjusts IP address configurations based on application classification, improving network efficiency and performance.
17. The method of claim 16 , wherein the request is received from the application.
A system and method for processing requests in a computing environment involves receiving a request from an application and determining whether the request is authorized. The system includes a request processing module that evaluates the request against predefined authorization rules. If the request is authorized, the system processes the request by executing one or more operations, such as accessing data, modifying system settings, or invoking external services. The system may also log the request and its outcome for auditing purposes. The method ensures secure and controlled access to system resources by validating requests before execution. The system may further include a rule engine that dynamically updates authorization rules based on system policies or external inputs. The method supports integration with various applications, allowing them to submit requests while maintaining security and compliance. The system may also include a monitoring module to track request patterns and detect anomalies, enhancing system security. The method ensures efficient request handling while preventing unauthorized access or malicious activities. The system may also include a response module that formats and returns results to the requesting application, ensuring proper communication and error handling. The method supports scalability, allowing multiple applications to submit requests simultaneously without performance degradation. The system may also include a caching mechanism to store frequently accessed data, improving response times. The method ensures reliable and secure request processing in a computing environment.
18. The method of claim 16 , wherein the request is received from a process executed independently of the application.
A system and method for managing application requests in a computing environment involves processing requests from an application to access a resource, such as a file or database. The method includes receiving a request from the application, determining whether the request is authorized, and granting or denying access based on predefined criteria. The system may also monitor the application's behavior to detect anomalies or unauthorized activities. In some implementations, the request may originate from a process that operates independently of the application, such as a background service or system utility. This allows for broader control over resource access, ensuring security and compliance even when the application itself is not directly involved in the request. The method may further include logging request details for auditing purposes and dynamically adjusting access permissions based on real-time conditions. The system is designed to enhance security by preventing unauthorized resource access while maintaining efficient application performance.
19. The method of claim 16 , wherein: the request is received from the application responsive to the application receiving a request for service from a user application.
A system and method for processing service requests in a computing environment involves intercepting and managing requests between user applications and backend services. The method includes receiving a request from an application, where the application itself has received a request for service from a user application. The system then processes this request by determining whether the request meets predefined criteria, such as security policies, performance thresholds, or service-level agreements. If the criteria are satisfied, the request is forwarded to the appropriate backend service for fulfillment. If not, the request may be modified, redirected, or denied based on predefined rules. The method ensures that service requests are handled efficiently, securely, and in accordance with system policies, improving the reliability and performance of the computing environment. The system may also log request details for auditing and monitoring purposes, providing visibility into service interactions and potential issues. This approach helps streamline service delivery while maintaining control over system resources and user access.
20. The method of claim 16 , wherein the classification of the application is determined based on data collected about the application during previous execution.
A system and method for classifying software applications based on their runtime behavior. The technology addresses the challenge of accurately identifying and categorizing applications to improve security, performance optimization, and resource allocation in computing environments. The method involves monitoring and collecting data about an application during its execution, including system calls, resource usage patterns, and interaction with other system components. This collected data is then analyzed to determine the application's classification, which can include categories such as productivity software, gaming, multimedia, or malicious activity. By leveraging historical execution data, the system can dynamically and accurately classify applications, even if they lack explicit metadata or identifiers. This approach enhances security by detecting potentially harmful applications and improves system efficiency by tailoring resource allocation based on the application's behavior. The method can be applied in operating systems, virtualization environments, or cloud computing platforms to manage and optimize application execution. The classification process may involve machine learning techniques to analyze the collected data and assign the application to the appropriate category.
21. The method of claim 16 , wherein: the application is associated with a scheduled event; responsive to determining that the request is received during the scheduled event, selecting a first set of network adapters for processing packets addressed to the new floating IP address; responsive to determining that the request is received not during the scheduled event, selecting a second set of network adapters for processing packets addressed to the new floating IP address; and wherein the first set of network adapters is different from the second set of network adapters.
This invention relates to network traffic management for applications associated with scheduled events. The problem addressed is efficiently routing network packets to different sets of network adapters based on whether a request is received during a scheduled event or outside of it. The system assigns a floating IP address to an application and dynamically selects network adapters for processing packets addressed to this IP address. When a request is received during a scheduled event, a first set of network adapters is chosen. If the request is received outside the scheduled event, a second, different set of network adapters is selected. This allows for optimized resource allocation and load balancing, ensuring that network traffic is handled by the most appropriate adapters based on the timing of the request. The method ensures that the system can adapt to varying traffic patterns and priorities associated with scheduled events, improving overall network performance and reliability. The invention is particularly useful in environments where applications experience fluctuating demand, such as during peak usage times or scheduled maintenance periods.
22. The method of claim 16 , the operations further comprising: maintaining, for previous executions of the application, historical runtime measurement data for a set of metrics; determining, based on analysis of the historical runtime measurement data, one more more re-classification thresholds for one or more of the set of metrics; obtaining, from the application while the application is executing, current runtime measurement data for one or more of the set of metrics; responsive to determining that the current runtime measurement data exceeds one or more re-classification thresholds, re-classifying the application with a first classification; or responsive to determining that the current runtime measurement data falls below one or more re-classification thresholds, re-classify the application with a second classification that is different from the first classification.
This invention relates to dynamic application classification based on runtime performance metrics. The problem addressed is the need to accurately classify applications in real-time to optimize resource allocation, security policies, or performance management. Traditional static classification methods fail to adapt to changing application behavior, leading to inefficiencies. The method involves monitoring an application's runtime performance by collecting historical measurement data for a set of metrics during previous executions. These metrics may include CPU usage, memory consumption, network activity, or other performance indicators. By analyzing this historical data, the system determines re-classification thresholds for one or more metrics. While the application is running, current runtime measurement data is obtained and compared against these thresholds. If the current data exceeds the thresholds, the application is re-classified into a first category, which may indicate higher resource needs or security risks. Conversely, if the current data falls below the thresholds, the application is re-classified into a second, distinct category, which may indicate lower resource requirements or reduced risk. This dynamic classification allows for adaptive resource management and policy enforcement based on real-time performance behavior.
23. A non-transitory computer readable medium comprising instructions which, when executed by one or more hardware processors, causes performance of operations comprising: configuring a plurality of floating IP addresses for a system, the plurality of floating IP addresses comprising (a) a first floating IP address that is associated with a first set of performance characteristics and (b) a second floating IP address that is associated with a second set of performance characteristics; wherein the first set of performance characteristics and the second set of performance characteristics are each associated with respective levels of connection reliability and connection speed; wherein the first set of performance characteristics and the second set of performance characteristics are different with regard to at least one of: connection reliability and connection speed; responsive to receiving a request to assign a floating IP address to an application: determining an application classification for the application; mapping the application classification to the first set of performance characteristics associated with the first floating IP address; selecting the first floating IP address, from the plurality of floating IP addresses, for use by the application as a source address based on the mapping of the application classification to the first set of performance characteristics associated with the first floating IP address; and assigning the first floating IP address to the application.
This invention relates to dynamic assignment of floating IP addresses in a networked system to optimize application performance based on predefined performance characteristics. The problem addressed is the need to efficiently allocate network resources to applications with varying reliability and speed requirements, ensuring optimal performance without manual configuration. The system configures multiple floating IP addresses, each associated with distinct performance characteristics such as connection reliability and speed. For example, one IP address may prioritize high reliability, while another may prioritize high-speed connections. When an application requests an IP address, the system classifies the application based on its requirements and maps it to the appropriate IP address. The classification determines which performance characteristics are most suitable, and the corresponding IP address is assigned to the application as its source address. This automated process ensures that applications receive the most appropriate network resources based on their needs, improving overall system efficiency and performance. The solution eliminates the need for manual IP address management and dynamically adapts to application demands.
24. The medium of claim 23 , wherein the first floating IP address is associated with a first set of network adapters, and wherein the operations further comprise: responsive to detecting a change associated with the attributes associated with the application: modifying the first set of network adapters associated with the first floating IP address.
This invention relates to network management systems that dynamically adjust network adapter configurations in response to changes in application attributes. The problem addressed is the need for flexible and automated management of network resources to ensure optimal performance and reliability as application requirements evolve. The system involves a network management platform that monitors application attributes, such as workload demands, performance metrics, or configuration changes. When a change in these attributes is detected, the system dynamically modifies the set of network adapters associated with a floating IP address. A floating IP address is a virtual IP that can be reassigned to different network adapters without disrupting ongoing network sessions. The system ensures seamless network connectivity by reconfiguring the network adapters linked to the floating IP address based on the updated application requirements. This allows for efficient resource allocation, load balancing, and fault tolerance. The solution enables automatic adaptation of network infrastructure to changing application needs, reducing manual intervention and improving system resilience. The system can scale network resources dynamically, ensuring consistent performance and availability. This approach is particularly useful in cloud computing, virtualized environments, and high-availability systems where network configurations must adapt to fluctuating workloads.
25. The medium of claim 23 , wherein the application comprises a plurality of threads of execution, a first thread of the plurality of threads of execution associated with a first network connection, and a second thread of the plurality of threads of executions associated with a second network connection distinct from the first network connection; and the operations further comprising: selecting the first floating IP address further based on attributes associated with the first thread of the application, selecting the second floating IP address based on attributes associated with the second thread of the application; and the first thread using the first floating IP address for communication over the first network connection, and the second thread using the second floating IP address for communication over the second network connection.
In the field of networked computing, particularly in systems where applications manage multiple network connections, a challenge arises in efficiently assigning and managing floating IP addresses to different threads of execution within an application. This is important for load balancing, security, and performance optimization, especially in distributed or cloud-based environments. The invention addresses this by providing a method for dynamically assigning floating IP addresses to individual threads of an application. The application runs multiple threads, each handling a distinct network connection. A first thread is associated with a first network connection, while a second thread is associated with a second, distinct network connection. The system selects a first floating IP address for the first thread based on attributes specific to that thread, such as its role, priority, or network requirements. Similarly, a second floating IP address is selected for the second thread based on its own attributes. The first thread then uses the first floating IP address for communication over its network connection, while the second thread uses the second floating IP address for its communication. This allows for fine-grained control over network traffic, enabling better resource allocation, security isolation, and performance tuning. The approach ensures that each thread operates independently with its own dedicated IP address, improving scalability and reliability in multi-threaded network applications.
26. The medium of claim 23 , wherein the application is a first database application executing on an application server, the database application communicating over a particular database connection with a database management application executing on a database server; wherein the application server uses a floating IP address as a source address for a particular network connection to communicate with a database server; the operations further comprising: the database application relinquishing the particular database connection, and the particular database connection returning to a pool of database connections; a second database application executing on the application server requesting a database connection to the database management application; selecting the particular database connection from the pool of database connections based on: (a) attributes of the second database application, and (b) a classification associated with the floating IP address used as the source address for the particular network connection to communicate with the database server; and assigning the particular database connection to the second database application.
This invention relates to database connection management in distributed systems, specifically addressing the challenge of efficiently reusing database connections in environments where multiple applications share a common application server. The system involves a database management application running on a database server that communicates with multiple database applications executing on an application server. The application server uses a floating IP address as the source address for network connections to the database server. When a first database application relinquishes a database connection, the connection is returned to a pool of available connections. A second database application on the same application server requests a new connection. The system selects the previously used connection from the pool based on two criteria: (1) attributes of the second database application, and (2) a classification associated with the floating IP address used for the connection. This ensures that the connection is reassigned in a way that optimizes resource utilization and maintains compatibility with the requesting application. The approach improves efficiency by reducing connection overhead while ensuring proper routing and security through IP-based classification.
27. The medium of claim 23 , wherein the application is a first application that communicates with a second application over a common subnetwork; wherein the first floating IP address is a private IP address that is: (c) allocated after receiving the request to assign a floating IP address to the application, and (d) not in use when the request to assign a floating IP address to the application is received.
This invention relates to network communication systems, specifically methods for dynamically assigning floating IP addresses to applications running on a network. The problem addressed is the need for flexible and efficient IP address management in environments where applications communicate over shared subnetworks, such as cloud computing or virtualized environments. The invention describes a system where a first application communicates with a second application over a common subnetwork. A floating IP address is assigned to the first application in response to a request. The floating IP address is a private IP address that is allocated only after the request is received and is not in use at the time of the request. This ensures that the IP address is dynamically assigned and avoids conflicts with existing addresses. The system may also include a network interface that receives the request and a controller that processes the request to assign the floating IP address. The floating IP address is then used by the first application to communicate with the second application over the subnetwork. This approach allows for efficient IP address management, reducing the risk of address conflicts and improving network scalability.
28. A non-transitory computer readable medium comprising instructions which, when executed by one or more hardware processors, causes performance of operations comprising: receiving a request for an IP address for an application; determining an application classification for the application; configuring a new floating IP address, for the application, based on the application classification associated with the application wherein configuring the new floating IP address comprises: selecting a level of service for the new floating address based on the application classification; selecting a set of network adapters, meeting the selected level of service, for processing packets addressed to the new floating IP address; and assigning the new floating IP address to the application.
This invention relates to dynamic IP address management in networked computing environments. The problem addressed is the need to efficiently assign and manage floating IP addresses for applications based on their specific requirements, ensuring optimal network performance and resource allocation. The system involves a non-transitory computer-readable medium containing instructions that, when executed by one or more hardware processors, perform operations for managing IP addresses. Upon receiving a request for an IP address for an application, the system determines the application's classification, which categorizes the application based on its network requirements. Based on this classification, a new floating IP address is configured for the application. The configuration process includes selecting a level of service for the new IP address, which dictates the quality and performance characteristics of the network connection. The system then selects a set of network adapters that meet the selected level of service to handle packets addressed to the new floating IP address. Finally, the new floating IP address is assigned to the application, ensuring that the application's network traffic is processed according to its classified requirements. This approach allows for dynamic and efficient allocation of network resources, ensuring that applications receive the appropriate level of service based on their classification, thereby optimizing network performance and resource utilization.
29. The medium of claim 28 , the operations further comprising: maintaining, for previous executions of the application, historical runtime measurement data for a set of metrics; determining, based on analysis of the historical runtime measurement data, one more more re-classification thresholds for one or more of the set of metrics; obtaining, from the application while the application is executing, current runtime measurement data for one or more of the set of metrics; responsive to determining that the current runtime measurement data exceeds one or more re-classification thresholds, re-classifying the application with a first classification; or responsive to determining that the current runtime measurement data falls below one or more re-classification thresholds, re-classify the application with a second classification that is different from the first classification.
This invention relates to dynamic application classification in computing systems, addressing the challenge of accurately categorizing applications based on their runtime behavior. The system monitors applications during execution, collecting runtime measurement data for various performance metrics such as CPU usage, memory consumption, or I/O activity. Historical runtime data from previous executions is stored and analyzed to establish re-classification thresholds for these metrics. During runtime, the system continuously obtains current measurement data and compares it against the thresholds. If the current data exceeds the thresholds, the application is re-classified into a first category, which may indicate higher resource demands or performance-critical status. Conversely, if the data falls below the thresholds, the application is re-classified into a second, distinct category, which may indicate lower resource usage or non-critical status. This dynamic classification allows the system to adapt resource allocation, scheduling, or security policies in real-time based on the application's current behavior, improving system efficiency and responsiveness. The approach ensures that applications are classified according to their actual runtime characteristics rather than static or outdated profiles.
30. A system comprising: at least one hardware device including a processor; and the system configured to perform operations comprising: configuring a plurality of floating IP addresses for a system, the plurality of floating IP addresses comprising (a) a first floating IP address that is associated with a first set of performance characteristics and (b) a second floating IP address that is associated with a second set of performance characteristics; wherein the first set of performance characteristics and the second set of performance characteristics are each associated with respective levels of connection reliability and connection speed; wherein the first set of performance characteristics and the second set of performance characteristics are different with regard to at least one of: connection reliability and connection speed; responsive to receiving a request to assign a floating IP address to an application: determining an application classification for the application; mapping the application classification to the first set of performance characteristics associated with the first floating IP address; selecting the first floating IP address, from the plurality of floating IP addresses, for use by the application as a source address based on the mapping of the application classification to the first set of performance characteristics associated with the first floating IP address; and assigning the first floating IP address to the application.
The system involves managing floating IP addresses in a network to optimize application performance based on reliability and speed requirements. The system includes at least one hardware device with a processor and is configured to assign floating IP addresses to applications based on their performance characteristics. Multiple floating IP addresses are configured, each associated with distinct performance profiles, including varying levels of connection reliability and speed. When a request is received to assign a floating IP address to an application, the system determines the application's classification, maps it to the appropriate performance characteristics, and selects the corresponding floating IP address. For example, an application requiring high reliability may be assigned a floating IP address optimized for reliability, while another needing high speed may receive an address prioritizing speed. This dynamic assignment ensures applications receive the most suitable network performance based on their needs. The system automates the selection process, improving efficiency and ensuring optimal resource allocation.
Unknown
December 1, 2020
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.