US9270543B1ActiveUtility

Application centered network node selection

Assignee: CA INCPriority: Mar 9, 2013Filed: Mar 9, 2013Granted: Feb 23, 2016
Est. expiryMar 9, 2033(~6.6 yrs left)· nominal 20-yr term from priority
H04L 43/04H04L 41/5054H04L 67/34H04L 67/10G06F 9/45533H04L 61/30G06F 2009/45595H04L 69/24
65
PatentIndex Score
2
Cited by
8
References
21
Claims

Abstract

Methods, systems and computer program products for application centered node selection are provided. A plurality of nodes of a network having node attributes for executing applications are identified. Each node of the plurality of nodes is linked to an application based on a node attribute identified for the respective node. Each node linked to a linked application has a corresponding node attribute for executing the linked application. A node request is received for a target application. The node request may be independent of a node configuration, such as an IP address or DNS name. A node linked to the target application is selected and provided. The target application is executed by the selected node.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A computer-implemented method, comprising:
 acquiring, at an application manager, node attributes from a plurality of computing nodes of a network, wherein the node attributes correspond to resources of ones of the plurality of computing nodes; 
 identifying, by the application manager responsive to acquiring the node attributes, a portion of the plurality of computing nodes of the network having a node attribute for executing a software application on the portion of the plurality of computing nodes,
 wherein the software application is a computer program selected by a user of the network to be installed or executed on one or more computing nodes of the portion of the plurality of computing nodes, and 
 wherein the node attribute for executing the software application indicates that a respective computing node of the portion of the plurality of computing nodes has a computing device configuration, a network configuration or required software to handle execution of the software application on the respective computing node of the portion of the plurality of computing nodes; 
 
 linking, within a data repository by the application manager, each respective computing node of the portion of the plurality of computing nodes to the software application based on the node attribute for executing the software application identified for the respective computing node of the portion of the plurality of computing nodes, whereby each respective computing node of the portion of the plurality of computing nodes linked to the software application has the corresponding node attribute for executing the software application; 
 receiving at the application manager a node request for the software application to be executed by one of the plurality of computing nodes, wherein the node request is independent of a computing node IP address and a computing node DNS name for any computing node of the plurality of computing nodes; 
 selecting, by the application manager, a selected computing node linked to the software application from among the portion of the plurality of computing nodes responsive to receiving the node request for the software application; and 
 providing, by the application manager, the selected computing node for execution of the software application responsive to the node request. 
 
     
     
       2. The method of  claim 1 , further comprising:
 detecting a change in the node attribute of an updated computing node of the plurality of computing nodes, and, responsively, determining an updated node attribute of the updated computing node of the plurality of computing nodes; and 
 broadcasting the updated node attribute to ones of the plurality of computing nodes. 
 
     
     
       3. The method of  claim 1 , further comprising:
 receiving broadcasts of broadcast node attributes from the plurality of computing nodes of the network; and 
 storing links of ones of the plurality of computing nodes to the software application based on the broadcast node attributes in the broadcasts. 
 
     
     
       4. The method of  claim 1 , wherein identifying comprises:
 querying the plurality of computing nodes for node attributes linked to the software application; and 
 determining that the respective computing node of the portion of the plurality of computing nodes is capable of executing the software application based on a query result indicating that the respective computing node of the portion of the plurality of computing nodes has the node attribute for executing the software application. 
 
     
     
       5. The method of  claim 1 ,
 wherein the software application comprises a database used for web applications and 
 wherein linking each respective computing node of the portion of the plurality of computing nodes to the software application based on the node attribute comprises creating a link within the data repository between the respective computing node of the portion of the plurality of computing nodes and the software application based on the node attribute of the respective computing node of the portion of the plurality of computing nodes comprising an open TCP/IP port. 
 
     
     
       6. The method of  claim 1 , wherein linking each respective computing node of the portion of the plurality of computing nodes to the software application based on the node attribute comprises a creating a link within the data repository between the respective computing node of the portion of the plurality of computing nodes with resources associated with a unique application identifier and the software application corresponding to the unique application identifier. 
     
     
       7. The method of  claim 1 , wherein receiving the node request for the software application comprises receiving a customer name, and
 wherein selecting the selected computing node linked to the software application comprises selecting the selected computing node among the portion of the plurality of computing nodes linked to the software application associated with the customer name. 
 
     
     
       8. The method of  claim 1 , wherein the software application is not installed on the selected computing node, and
 wherein providing the selected computing node for execution of the software application comprises automatically proceeding with installation of the software application on the selected computing node prior to the execution of the software application on the selected computing node and responsive to the selection of the selected computing node. 
 
     
     
       9. The method of  claim 1 ,
 wherein the node attribute for executing the software application is a first node attribute acquired from the respective computing node of the portion of the plurality of computing nodes, and 
 wherein linking each respective computing node of the portion of the plurality of computing nodes to the software application based on the first node attribute comprises:
 determining that a second node attribute not acquired from the respective computing node of the portion of the plurality of computing nodes indicates the computing device configuration, the network configuration or the required software to handle execution of the software application; 
 determining that the first node attribute acquired from the respective computing node of the portion of the plurality of computing nodes signifies the second node attribute. 
 
 
     
     
       10. A computer system comprising:
 a processor; and 
 a memory coupled to the processor, the memory comprising computer readable program code embodied therein that, when executed by the processor, provides the following modules:
 a node attribute acquisition module to acquire node attributes from a plurality of computing nodes of a network, wherein the node attributes correspond to resources of ones of the plurality of computing nodes; 
 a node attribute identifier module to identify, responsive to acquiring the node attributes, a portion of the plurality of computing nodes of the network having a node attribute for executing a software application on the portion of the plurality of computing nodes,
 wherein the software application is a computer program selected by a user of the network to be installed or executed on one or more computing nodes of the portion of the plurality of computing nodes, and 
 wherein the node attribute for executing the software application indicates that a respective computing node of the portion of the plurality of computing nodes has a computing device configuration, a network configuration or required software to handle execution of the software application on the respective computing node of the portion of the portion of the plurality of the computing nodes; 
 
 an application linker module to link within a data repository each respective computing node of the portion of the plurality of computing nodes to the software application based on the node attribute for executing the software application identified for the respective computing node of the portion of the plurality of the computing nodes, whereby each respective computing node of the portion of the plurality of computing nodes linked to the software application has the corresponding node attribute for executing the software application; and 
 a node selector module to:
 receive a node request for the software application to be executed by one of the plurality of computing nodes, wherein the node request is independent of a computing node IP address and a computing node DNS name for any computing node of the plurality of computing nodes; 
 select a selected computing node linked to the software application from among the portion of the plurality of computing nodes responsive to receiving the node request for the software application; and 
 provide the selected computing node for execution of the software application responsive to the node request. 
 
 
 
     
     
       11. The system of  claim 10 , wherein the application linker module further:
 receives broadcasts of broadcast node attributes from the plurality of computing nodes of the network; and 
 stores links of ones of the plurality of computing nodes to the software application based on the broadcast node attributes in the broadcasts. 
 
     
     
       12. The system of  claim 10 , wherein the node identifier module further:
 queries the plurality of computing nodes for node attributes linked to the software application; and 
 determines that the respective computing node of the portion of the plurality of computing nodes is capable of executing the software application based on a query result indicating that the respective computing node of the portion of the plurality of computing nodes has the node attribute for executing the software application. 
 
     
     
       13. The system of  claim 10 , the software application comprises a database used for web applications, and
 wherein the application linker module further: 
 creates a link within the data repository between between the respective computing node of the portion of the plurality of computing nodes and the software application based on the node attribute of the respective computing node of the portion of the plurality of computing nodes comprising an open TCP/IP port. 
 
     
     
       14. The system of  claim 10 , wherein the application linker module further:
 creates a link within the data repository between the respective computing node of the portion of the plurality of computing nodes with resources associated with a unique application identifier and the software application corresponding to the unique application identifier. 
 
     
     
       15. The system of  claim 10 , wherein the node selector module further:
 receives a customer name; and 
 selects the selected computing node among the portion of the plurality of computing nodes linked to the software application associated with the customer name. 
 
     
     
       16. The computer system of  claim 10 , wherein the software application is not installed on the selected computing node, and
 wherein the node selector module provides the selected computing node for execution of the software application by automatically proceeding with installation of the software application on the selected computing node prior to the execution of the software application on the selected computing node and responsive to the selection of the selected computing node. 
 
     
     
       17. The computer system of  claim 10 ,
 wherein the node attribute for executing the software application is a first node attribute acquired from the respective computing node of the portion of the plurality of computing nodes, and 
 wherein the application linker module links each respective computing node of the portion of the plurality of computing nodes to the software application based on the first node attribute by:
 determining that a second node attribute not acquired from the respective computing node of the portion of the plurality of the computer nodes indicates the computing device configuration, the network configuration or the required software to handle execution of the software application; 
 determining that the first node attribute acquired from the respective computing node of the portion of the plurality of the computer nodes signifies the second node attribute. 
 
 
     
     
       18. The computer system of  claim 10 , wherein the software application is already installed on the selected computing node of the plurality of computing nodes as a first installation,
 wherein the node selector module provides the selected computing node of the plurality of computing nodes for execution of the software application by automatically proceeding with a second installation of the software application on the selected computing node of the plurality of computing nodes prior to the execution of the software application on the selected computing node of the plurality of computing nodes, and 
 wherein the second installation is performed using a unique application identifier that identifies the second installation and isolates the second installation from the first installation. 
 
     
     
       19. A computer program product for operating a computer system, the computer program product comprising:
 a non-transitory computer readable storage medium having computer readable program code embodied in the medium, the computer readable program code comprising: 
 computer readable program code to: 
 acquire, at an application manager, node attributes from a plurality of computing nodes of a network, wherein the node attributes correspond to resources of ones of the plurality of computing nodes,
 wherein the application manager is executed on a management computing node that is distinct from the plurality of computing nodes of the network; 
 
 identify, by the application manager responsive to acquiring the node attributes, a computing node of the plurality of computing nodes having a node attribute for executing a software application on the computing node,
 wherein the software application is a computer program selected by a user of the network to be installed or executed on one or more computing nodes of the plurality of computing nodes, and 
 wherein the node attribute for executing the software application indicates that the computing node of the plurality of computing nodes has a computing device configuration, a network configuration or required software to handle execution of the software application on the computing node of the plurality of computing nodes; 
 
 link, within a data repository by the application manager, the computing node of the plurality of computing nodes to the software application responsive to the computing node of the plurality of computing nodes having the node attribute for executing the software application on the computing node of the plurality of computing nodes; 
 receive at the application manager a node request for the software application to be executed by one of the plurality of computing nodes,
 wherein the node request is independent of a computing node IP address and a computing node DNS name for any of the plurality of computing nodes; 
 
 query, by the application manager, the data repository to identify linked computing nodes of the plurality of computing nodes which are linked to the software application; 
 select, by the application manager, the computing node of the plurality of computing nodes linked to the software application responsive to the query of the data repository,
 wherein the software application is not installed on the computing node of the plurality of computing nodes; 
 
 initiate automatic installation, by the application manager, of the software application on the computing node of the plurality of computing nodes prior to the execution of the software application on the computing node of the plurality of computing nodes, and responsive to the selection of the computing node of the plurality of computing nodes; 
 provide, by the application manager, the computing node of the plurality of computing nodes for execution of the software application responsive to the node request; 
 receive, at the application manager, updated node attributes from an updated computing node of the plurality of computing nodes; and 
 update, by the application manager, a link within the data repository between the updated computing node of the plurality of computing nodes and the software application responsive to the updated node attributes received from the updated computing node of the plurality of computing nodes. 
 
     
     
       20. The computer program product of  claim 19 ,
 wherein the software application comprises a database used for web applications, and further comprising: 
 computer readable program code to create a link within the data repository between the respective computing node of the portion of the plurality of computing nodes and the software application based on the node attribute of the respective computing node of the portion of the plurality of computing nodes comprising an open TCP/IP port. 
 
     
     
       21. The computer program product of  claim 19 ,
 wherein the node attribute for executing the software application is a first node attribute acquired from the respective computing node of the portion of the plurality of computing nodes, and 
 wherein the computer readable program code to link each respective computing node of the portion of the plurality of computing nodes to the software application based on the first node attribute comprises computer readable code to:
 determine that a second node attribute not acquired from the respective computing node of the portion of the plurality of the computer nodes indicates the computing device configuration, the network configuration or the required software to handle execution of the software application; 
 determine that the first node attribute acquired from the respective computing node of the portion of the plurality of the computer nodes signifies the second node attribute.

Join the waitlist — get patent alerts

Track US9270543B1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.