Title of Invention

"METHOD FOR CENTRALIZED MANAGEMENT OF AN INFINIBAND DISTRIBUTED SYSTEM AREA NETWORK"

Abstract A method, system, and product in a data processing system are disclosed for providing centralized management of an InfiniBand distributed system-area network that includes multiple end nodes. A manager application is established in one of the end nodes. An agent application is established in one or more end nodes. Each agent application is independent from the manager application. The manager application maintains a current list of active agent applications and uses the list to manage the agent applications in the end nodes.
Full Text fbescription
SYSTEM, METHOD, AND COMPUTER PROGRAM PRODUCT FOR CENTRALIZED MANAGEMENT OF AN INFINIBAND DISTRIBUTED SYSTEM
AREA NETWORK
Technical field
[0001] The present invention relates generally to the field of computer systems
and more specifically to a system, method, and computer program product for centrally managing InfiniBand distributed system area network end nodes.
Background art
[0002] Historically, increasing compute requirements were addressed by
computer manufactures by designing faster uni-processor systems. As such offerings became cost prohibitive and could not react to the time-to-market requirements, multiple processors were tightly coupled together to create symmetric multi-processor (SMP) systems. Again, driven by higher compute requirements, multiple single or multi-processors were connected together to create a cluster. Clusters of multiple systems provide increased compute capability. However, these clusters often deploy proprietary interconnects to decrease latency and are difficult to manage.
[0003] A new industry standard architecture, commonly called "Infiniband", has
been developed for interconnecting systems in cluster configurations. This
new architecture is capable of providing decrease latency, greater
bandwidth and increased expandability. The new architecture
provides a system-area network which includes a channel-based, switched-fabric technology. In such a system-area network (SAN), data is transmitted via messages which are made up of packets. Each device, whether it is a processor or I/O device, includes a channel adapter. The messages are transmitted from one device's channel adapter to another device's channel adapter via switches.
[0004] InfiniBand provides an industry standard interconnect for clustering and defines a mechanism for message transfer between end nodes. The Architecture outlines key management requirements for initialization, configuration, and control but limits these requirements only to InfiniBand

components in the fabric (InfiniBand adapters and switches). Cluster management entails inter-node management requirements also and these are deemed outside the scope of the architecture.
[0005] Therefore, a need exists for a method, system, and computer program
product for centrally managing InfiniBand distributed system area network end nodes.
[0006] Infiniband is a registered trade mark of the Infiniband trade association.
Disclosure of the invention
[0007] A method, system, and product in a data processing system are disclosed for providing centralized management of an InfiniBand distributed system-area network that includes multiple end nodes. At least one manager application is established in one of the end nodes. An agent application is established in one or more end nodes. Each agent application is independent from the manager application. Each manager application registers its presence in the fabric by using InfiniBand Architected Service Records in the System Administrator (SA) by creating a Service Record in the subnet administrator's database. The agent applications, instead of registering with the subnet administrator, register themselves with one or more manager applications. The manager application maintains a current list of active agent applications and uses the list to manage the agent applications in the end nodes. Agents query the SA to discover any new managers and then register themselves directly with these managers.
[0008] The above as well as additional objectives, features, and advantages of
the present invention will become apparent in the following detailed written description.
[0009] Viewed from a first aspect the present invention provides a method for
providing centralized management of a InfiniBand distributed system-area network that includes a subnet administrator and a plurality of end nodes, said method comprising the steps of: registering, by a first application, its presence in said network with said subnet administrator; publicizing, by said subnet administrator, said presence of said first application in said network, said presence being required to be publicized before other applications are able to communicate with said first application;

registering, by a manager application, its presence in said network with said subnet administrator; registering, by one of a plurality of agent applications, its presence with said manager application, said one of said plurality of agent applications not registering with said subnet administrator; and publicizing a presence of said one of said plurality of agent applications to said network by said manager application.
[0010] Preferably the present invention provides a method further comprising the steps of: requiring said first application to register with said subnet administrator to publicize, by said subnet administrator, said presence of said first application's to said network, a second application being unaware of said first application's presence and unable to communicate with said first application prior to said first application's presence being publicized.
[0011] Preferably the present invention provides a method further comprising the steps of: maintaining, by said manager application, a current list of active agent applications; and utilizing said list by said manager application to manage said plurality of agent applications.
[0012] Preferably the present invention provides a method further comprising the steps of: establishing said plurality of agent applications, at least one of said plurality of agent applications being established in ones of said plurality of end nodes, said plurality of agent applications being independent from said manager application.
[0013] Preferably the present invention provides a method further comprising the steps of: establishing said manager application in one or more of said plurality of end nodes.
[0014] Preferably the present invention provides a method further comprising the steps of: receiving, by said manager application, a command to be executed by specified ones of said plurality of agent applications; sending said command from said manager application to said specified ones of said plurality of agent applications; and receiving within said manager application a response from said specified ones of said agent applications in response to said specified ones of said agent applications executing said command.

$0015] Preferably the present invention provides a method further comprising the steps of: maintaining, by said manager application, a current list of active agent applications; and utilizing said list by said manager application to locate said specified ones of said plurality of agent applications.
[0016] Preferably the present invention provides a method further comprising the steps of: registering, by said manager application, its presence in said network with said subnet administrator by creating a Service Record in said subnet administrator's database.
[0017] Preferably the present invention provides a method further comprising the steps of: associating a lease period with said Service Record, said Service Record being automatically deleted from said database upon an expiration of said lease period.
[0018] Preferably the present invention provides a method further comprising the steps of: re-registering, by said manager application, its presence in said network with said subnet administrator prior to an expiration of said lease period.
[0019] Preferably the present invention provides a method further comprising the steps of: broadcasting a command by said manager application to identify said plurality of agent applications.
[0020] Preferably the present invention provides a method further comprising the steps of: receiving by said manager application a report from ones of said plurality of agent applications that identifies an active/inactive status for said ones of said plurality of agent applications.
[0021] Preferably the present invention provides a method further comprising the steps of: adding, by said manager application, a name of each active one of said plurality of agents to a list that is maintained by said manager application of active agents; and removing, by said manager application, a name of each inactive one of said plurality of agents from said list.
[0022] Preferably the present invention provides a method further comprising the steps of: sending, from said manager application, a confirmation command to each active one of said plurality of agent applications to confirm a status of each active one of said plurality of agent applications; receiving, by

said manager application, replies to said confirmation command; and updating, by said manager application, said list.
[0023] Preferably the present invention provides a method further comprising the steps of: maintaining, by said subnet manager, a list of all manager applications that are registered with said subnet administrator;
obtaining, by one of said plurality of agent applications, said list; registering, by said one of said plurality of agent applications, its presence with each one of said manager applications that are included in said list.
[0024] Preferably the present invention provides a method further comprising the steps of: receiving, within one of said plurality of agent applications, a request to stop executing; transmitting to said manager application a notice that said one of said plurality of agent applications will be stopped; and removing, by said manager application, a registration of a presence of said one of said plurality of agent applications.
[0025] Viewed from another aspect the present invention provides a system for providing centralized management of a distributed system-area network that includes a subnet administrator and a plurality of end nodes, said system comprising: a first application for registering its presence in said network with said subnet administrator; said subnet administrator publicizing said presence of said first application in said network, said presence being required to be publicized before other applications are able to communicate with said first application; a manager application registering its presence in said network with said subnet administrator; one of a plurality of agent applications registering its presence with said manager application, said one of said plurality of agent applications not registering with said subnet administrator; and said manager application for publicizing a presence of said one of said plurality of agent applications to said network.
[0026] Preferably the present invention provides a system further comprising: requiring means for requiring said first application to register with said subnet administrator to publicize, by said subnet administrator, said presence of said first application's to said network, a second application

being unaware of said first application's presence and unable to communicate with said first application prior to said first application's presence being publicized.
[0027] Preferably the present invention provides a system further comprising: said manager application maintaining a current list of active agent applications; and said manager application utilizing said list to manage said plurality of agent applications.
[0028] Preferably the present invention provides a system further comprising:
establishing means for establishing said plurality of agent applications, at least one of said plurality of agent applications being established in ones of said plurality of end nodes, said plurality of agent applications being independent from said manager application.
[0029] Preferably the present invention provides a system further comprising: establishing means for establishing said manager application in one of said plurality of end nodes.
[0030] Preferably the present invention provides a system further comprising: said manager application receiving a command to be executed by specified ones of said plurality of agent applications; said manager application sending said command to said specified ones of said plurality of agent applications; and said manager application receiving a response from said specified ones of said agent applications in response to said specified ones of said agent applications executing said command.
[0031] Preferably the present invention provides a system further comprising: said manager application maintaining a current list of active agent applications; and said manager application utilizing said list to locate said specified ones of said plurality of agent applications.
[0032] Preferably the present invention provides a system further comprising:
said manager application registering its presence in said network with said subnet administrator by creating a Service Record in said subnet administrator's database.
[0033] Preferably the present invention provides a system further comprising: a lease period associated with said Service Record, said Service Record

being automatically deleted from said database upon an expiration of said lease period.
[0034] Preferably the present invention provides a system further comprising: said manager application re-registering its presence in said network with said subnet administrator prior to an expiration of said lease period.
[0035] Preferably the present invention provides a system further comprising: a command being broadcast by said manager application to identify said plurality of agent applications.
[0036] Preferably the present invention provides a system further comprising: said manager application receiving a report from ones of said plurality of agent applications that identifies an active/inactive status for said ones of said plurality of agent applications.
[0037] Preferably the present invention provides a system further comprising: said manager application adding a name of each active one of said plurality of agents to a list that is maintained by said manager application of active agents; and said manager application removing a name of each inactive one of said plurality of agents from said list.
[0038] Preferably the present invention provides a system further comprising:
said manager application sending a confirmation command to each active one of said plurality of agent applications to confirm a status of each active one of said plurality of agent applications; said manager application receiving replies to said confirmation command; and said manager application updating said list.
[0039] Preferably the present invention provides a system further comprising:
said subnet manager maintaining a list of all manager applications that are registered with said subnet administrator; one of said plurality of agent applications obtaining said list; said one of said plurality of agent applications registering its presence with each one of said manager applications that are included in said list.
[0040] Preferably the present invention provides a system further comprising: one of said plurality of agent applications receiving a request to stop executing; transmitting means for transmitting to said manager application a notice that said one of said plurality of agent applications will be stopped; and

said manager application removing a registration of a presence of said one of said plurality of agent applications.
[0041] Viewed from a third aspect the present invention provides a computer program product for providing centralized management of a distributed system-area network that includes a subnet administrator and a plurality of end nodes, said product comprising: instruction means for registering, by a first application, its presence in said network with said subnet administrator; instruction means for publicizing, by said subnet administrator, said presence of said first application in said network, said presence being required to be publicized before other applications are able to communicate with said first application; instruction means for registering, by a manager application, its presence in said network with said subnet administrator; instruction means for registering, by one of a plurality of agent applications, its presence with said manager application, said one of said plurality of agent applications not registering with said subnet administrator; and instruction means for publicizing a presence of said one of said plurality of agent applications to said network by said manager application.
[0042] Preferably the present invention provides a computer program product further comprising: instruction means for requiring aid first application to register with said subnet administrator to publicize, by said subnet administrator, said presence of said first application's to said network, a second application being unaware of said first application's presence and unable to communicate with said first application prior to said first application's presence being publicized.
[0043] Preferably the present invention provides a computer program product further comprising: instruction means for maintaining, by said manager application, a current list of active agent applications; and instruction means for utilizing said list by said manager application to manage said plurality of agent applications.
[0044] Preferably the present invention provides a computer program product further comprising: instruction means for establishing said plurality of agent applications, at least one of said plurality of agent applications being

established in ones of said plurality of end nodes, said plurality of agent applications being independent from said manager application.
[0045] Preferably the present invention provides a computer program product further comprising: instruction means for establishing said manager application in one of said plurality of end nodes.
[0046] Preferably the present invention provides a computer program product, further comprising: instruction means for receiving, by said manager application, a command to be executed by specified ones of said plurality of agent applications; instruction means for sending said command from said manager application to said specified ones of said plurality of agent applications; and instruction means for receiving within said manager application a response from said specified ones of said agent applications in response to said specified ones of said agent applications executing said command.
[0047] Preferably the present invention provides a computer program product further comprising: instruction means for maintaining, by said manager application, a current list of active agent applications; and instruction means for utilizing said list by said manager application to locate said specified ones of said plurality of agent applications.
[0048] Preferably the present invention provides a computer program product further comprising: instruction means for registering, by said manager application, its presence in said network with said subnet administrator by creating a Service Record in said subnet administrator's database.
[0049] Preferably the present invention provides a computer program product further comprising: instruction means for associating a lease period with said Service Record, said Service Record being automatically deleted from said database upon an expiration of said lease period.
[0050] Preferably the present invention provides a computer program product further comprising: instruction means for re-registering, by said manager application, its presence in said network with said subnet administrator prior to an expiration of said lease period.

^0051] Preferably the present invention provides a computer program product
further comprising: instruction means for broadcasting a command by said manager application to identify said plurality of agent applications.
[0052] Preferably the present invention provides a computer program product further comprising: instruction means for receiving by said manager application a report from ones of said plurality of agent applications that identifies an active/inactive status for said ones of said plurality of agent applications.
[0053] Preferably the present invention provides a computer program product further comprising: instruction means for adding, by said manager application, a name of each active one of said plurality of agents to a list that is maintained by said manager application of active agents; and instruction means for removing, by said manager application, a name of each inactive one of said plurality of agents from said list.
[0054] Preferably the present invention provides a computer program product
comprising: instruction means for sending, from said manager application, a confirmation command to each active one of said plurality of agent applications to confirm a status of each active one of said plurality of agent applications; instruction means for receiving, by said manager application, replies to said confirmation command; and instruction means for updating, by said manager application, said list.
[0055] Preferably the present invention provides a computer program product further comprising: instruction means for maintaining, by said subnet manager, a list of all manager applications that are registered with said subnet administrator; instruction means for obtaining, by one of said plurality of agent applications, said list; instruction means for registering, by said one of said plurality of agent applications, its presence with each one of said manager applications that are included in said list.
[0056] Preferably the present invention provides a computer program product The product according to claim 33, further comprising: instruction means for receiving, within one of said plurality of agent applications, a request to stop executing; instruction means for transmitting to said manager application a notice that said one of said plurality of agent applications will

be stopped; and instruction means for removing, by said manager
application, a registration of a presence of said one of said plurality of
agent applications. Brief description of the drawings [0057] Embodiments of the invention are described below in detail, by way of
example only, with reference to the accompanying drawings in which: [0058] Figure 1 depicts a data processing system that implements a channel-based, switched fabric architecture for transmitting data in accordance with
the present invention; [0059] Figure 2 illustrates a high level flow chart which depicts a manager
registering its presence with a subnet administrator in accordance with the
present invention; [0060] Figure 3 depicts a high level flow chart which illustrates a manager
maintaining a list of active agents in accordance with the present
invention; [0061] Figure 4 illustrates a high level flow chart which depicts a manager
identifying active agents in accordance with the present invention; [0062] Figure 5 depicts a high level flow chart which illustrates a manager
sending a command to an agent to be processed in accordance with the
present invention; [0063] Figure 6 illustrates a high level flow chart which depicts a manager
deleting its presence from a subnet administrator in accordance with the
present invention; [0064] Figure 7 depicts a high level flow chart which illustrates an agent
registering its presence with managers in accordance with the present
invention; [0065] Figure 8 illustrates a high level flow chart which depicts an agent executing
a command received from a manager in accordance with the present
invention; and Figure 9 depicts a high level flow chart which illustrates an
agent sending a report to each manager that the agent is now inactive in
accordance with the present invention. Mode(s) for carrying out the invention

^0066] The present invention is a method, system, and product in a data
processing system for centrally managing the end nodes of a distributed system area network utilizing the InfiniBand fabric. The InfiniBand fabric includes multiple end nodes. One or more manager applications are established in one or more of the end nodes. An agent application is established in one or more end nodes. Each agent application is independent from the manager application.
[0067] Each manager application will register its presence with the subnet
administrator by creating a Service Record in the subnet administrator's database. Thus, there will be a separate Service Record for each manager that is currently active. In this manner, each manager will advertise its presence to the rest of the InfiniBand subnet by creating a Service Record.
[0068] Any process within the subnet may determine what applications, such as manager applications, are registered with the subnet administrator as well as further information about where the application is located within the subnet and how to contact it by using an application's Service Record. Since cluster configurations can consist of a large number of nodes, inter-node communications can only proceed if nodes are able to detect and locate each other on the fabric. To facilitate location and discovery, InfiniBand Architecture defines Service Records can be created by any node wishing to advertise its presence in the fabric. Per the architecture, these Service Records are stored through the Subnet Administrator (SA) in the Subnet Administrator data base (SADB). So in order for an application on one node to be located by other applications on other nodes, following the InfiniBand standard, the application must be registered with the subnet administrator. Thus, when a first application needs to communicate with a second according to the InfiniBand standard, the second application needs to be registered with the subnet administrator so that the first application may be aware of the second application's presence and may obtain information about how to locate the second application.

^0069] In the subject invention the agent applications will register their presence with each manager instead of registering with the subnet administrator. Thus, the agent applications will not have a Service Record entry in the subnet database.
[0070] Each Service Record has an associated lease period. A Service Record remains in the subnet administrator database until the expiration of its associated lease period. When the lease period expires, the Service Record is deleted by the Service Administrator. So when a manager's Service Record is removed, the manager is no longer registered with the subnet administrator.
[0071] According to the present invention, when a manager application creates its Service Record, it will obtain a particular lease period. It will be the responsibility of each manager to ensure that they renew their lease with the subnet administrator prior to the expiration of their lease period.
[0072] Each agent will use the various Service Records that are maintained by the subnet administrator in the subnet administrator database in order to identify and locate each active manager application. Each agent will then notify each active manager application when the agent becomes active or inactive.
[0073] Each manager application will maintain a current list of active agent applications and use the list to route user requested commands to the agent for execution at the end nodes.
[0074] Figure 1 depicts an InfiniBand distributed storage area network (SAN) 100 in accordance with the present invention. Per InfiniBand Architecture terminology this is referred to as a "subnet". A subnet is a group of end nodes and cascaded switches that is managed as a single unit. A node is any component attached to one or more links of a network and forming the origin and/or destination of messages within the network. In the depicted example, InfiniBand subnet 100 includes end nodes 102,104,106, 108, and 110. The nodes illustrated in Figure 1 are for illustrative purposes only, as the subnet 100 can include any number and any type of independent processor nodes and I/O device nodes. "End node" is

defined to be a device that includes a channel adapter and can originate or finally consume messages or packets in subnet 100.
[0075] Subnet 100 can include the infrastructure supporting both I/O and
interprocessor communications (IPC). Subnet 100 includes a switched communications fabric which allows many devices to concurrently transfer data with high-bandwidth and low latency in a secure, remotely managed environment. End nodes can communicate over multiple ports and utilize multiple paths through the subnet 100.
[0076] Each node in the subnet 100 includes at least one channel adapter (CA). Subnet 100 (as shown in Figure 1, fabric equates to subnet) includes host channel adapters (HCAs) 114, 116, 118, 120, and 122, and switches 124 and 126. Each channel adapter is an end point that implements the channel adapter interface in sufficient detail to source or sink packets transmitted utilizing the InfiniBand fabric 100. A channel adapter included in a processor node is commonly referred to as a host channel adapter (HCA). A channel adapter included in a node other than a processor node is commonly referred to as a target channel adapter (TCA).
[0077] Host channel adapters are preferably implemented in hardware. In this implementation, the host channel adapter hardware offloads much of central processing unit and I/O adapter communication overhead. This hardware implementation of the host channel adapter also permits multiple concurrent communications over a switched network without the traditional overhead associated with communication protocols.
[0078] A switch is a device that connects multiple links together and allows routing of packets from one link to another link within a subnet using a small header Destination Local Identifier (DLID) field. Generally, a switch can route packets from one port to any other port on the same switch.
[0079] The fabric is a collection of interconnected switches and end nodes.
[0080] One of the nodes of subnet 100 hosts a subnet manager node. For example, end node 108 includes a subnet manager 130 and subnet administrator and its database 132. Subnet manager 130 is used for discovery, configuration, and initialization of the fabric.

$0081] Each node needing to be managed includes at least one agent
application. In addition, at least one of the nodes includes at least one manager application and a remote manager application. The node including the manager application and remote manager application is coupled to a remote manager console.
[0082] For example, end node 102 includes a manager application 140 and a remote manager application 144. End node 102 is coupled to a remote manager console that includes a graphical user interface (GUI) 142.
[0083] Remote manager application 144 serves two purposes: at the front end it serves as the external interface for remote console 142, and at the back end it interfaces with manager application 140 to funnel user requests entered via remote manager console 142. Manager application 140 in turn translates requests from remote manager application 144 and forwards them to the appropriate agent applications. The agent applications then perform the services requested by manager application 140.
[0084] In the depicted embodiment, end node 102 is coupled to remote manager console 142 using an IP connection 146 and communication link 148 that adheres to the IP protocol. Those skilled in the art will recognize that other types of communications standards, such as Ethernet, might be used to couple end node 102 to remote manager console 142.
[0085] Each end node that needs to be managed will include at least one agent application. For example, end node 102 includes agent application 150, end node 104 includes agent application 152, and end node 106 includes agent application 154.
[0086] Another end node 110 may be included in SAN 100 that includes a
manager application 160 and a remote manager application 162 that is coupled to remote manager console 142 using IP connection 164 and communication link 166. End node 110 may need to be managed and thus includes an agent application 170.
[0087] SAN 100 provides the I/O and interprocessor communications (IPC)
consumers of the distributed computer system with zero processor-copy data transfers without involving the operating system kernel process, and employs hardware to provide reliable, fault tolerant communications.

.f|0088] At startup, the manager application registers its presence by creating a Service Record for the manager with the subnet administrator. At this point, the manager application may perform one of five different functions:
[0089] (1) As client end nodes which host an agent application are started or stopped, the agent application informs the manager application of its entry or exit condition. Thus, each agent will register its presence with the manager application. The manager application then adds the agent to its "Active Agent" list, or removes it from the "Active Agent" list as appropriate. Thereafter, the manager application acknowledges receipt of the entry/exit condition to the agent;
[0090] (2) The remote manager requests the list of currently active agents. The manager application "pings", i.e. sends a command to one or more devices or broadcasts a request to all devices, and awaits an acknowledgement of receipt of that command from a device, all of the known agents on its "Active Agents" list to confirm their presence. The manager application then returns the "Active Agents" list to the remote manager;
[0091] (3) The remote manager passes a command to the manager application to be executed on all or only a subset of the end nodes. The manager application sends the request to the specified agents. Upon receipt of the responses from the agent application, the responses are returned to the remote application;
[0092] (4) The manager application reregisters itself at periodic intervals before expiration of a finite lease period; and
[0093] (5) If the manager application is being stopped, such as when an end node on which the manager application is being shut down, the manager application deletes its Service Record from the subnet administrator.
[0094] The functions of any agent application may be one of three functions:
[0095] (1) After the agent is started, it queries the subnet administrator to obtain a list of manager application Service Records. For every new manager, i.e. not previously contacted by the agent to report presence in this session, the agent application registers its presence via an Entry condition. This thread of the agent idles or sleeps for a predefined interval

and then repeats the cycle for any new managers that have registered themselves with the Subnet Administrator. This function is necessary in order to inform any managers that initiated after an agent has begun execution and also to discover and remove managers that are no longer active;
[0096] (2) An agent application receives a command from a valid manager.
The agent executes the command on its end node and returns the results of the execution of the command to the manager as the agent's response; and
[0097] (3) The agent application is being stopped, such as when the user shuts down the end node on which the agent is executing. The agent application queries the subnet administrator to obtain a list of all active manager applications. The agent application reports its Exit condition to each of the active managers. Upon a successful acknowledgment, the agent application terminates.
[0098] The managers and agents are independent of each other. Managers can be changed, started, stopped, or moved without affecting the agents or their end nodes. A manager application manages all of the active agent applications without adding overhead to the subnet administrator. The subnet administrator does not manage the agent applications. Each manager application manages the agent applications.
[0099] Figure 2 illustrates a high level flow chart which depicts a manager
registering its presence with a subnet administrator in accordance with the present invention. The process starts as depicted by block 200 and thereafter passes to block 202 which illustrates a manager application registering its presence with the subnet administrator by creating a Service Record having a finite lease period through the subnet administrator for the manager application. Thus, the subnet administrator will include a Service Record for each registered manager application. Next, block 206 illustrates a determination of whether or not the lease period is about to expire. If a determination is made that the lease period is not about to expire, the process passes back to block 206. Referring again to block 206, if a determination is made that the lease period is about to expire, the

process passes to block 208 which depicts the manager application renewing its lease with the subnet administrator. The process then passes back to block 206.
[0100] Figure 3 depicts a high level flow chart which illustrates a manager
application maintaining a list of active agent applications in accordance with the present invention. The process starts as illustrated by block 300 and thereafter passes to block 302 which depicts a manager establishing a list for storing the names of active agents. Next, block 304 illustrates the manager receiving a status report from an agent that the particular agent is either active or inactive. Block 306, then, depicts the manager either adding this agent's name to the list of active agents (if the agent reported itself as active) or removing the agent's name from the list (if the agent reported itself as becoming inactive). Thereafter, block 308 illustrates the manager transmitting an acknowledgment of receipt of the entry/exit to the agent. The process then passes back to block 304.
[0101] Figure 4 illustrates a high level flow chart which depicts a manager
identifying active agents in accordance with the present invention. The process starts as depicted by block 400 and thereafter passes to block 402 which illustrates a manager receiving a request from the remote manager for the list of the active agents. Next, block 404 depicts the manager pinging all of the known agents whose names are listed in the active agent list to confirm their presence. Thereafter block 406 depicts the manager updating the list as appropriate to include the names of all active agents. Thus, the manager application will include the names of all agents that replied to the "ping" that the agent is active. The manager application will also remove the names of all agents from the list that fail to respond. Block 408, then, illustrates the manager transmitting the list of the names of the active agents to the remote manager. The process then passes back to block 402.
[0102] Figure 5 depicts a high level flow chart which illustrates a manager
sending a command to an agent to be processed in accordance with the present invention. The process starts as depicted by block 500 and thereafter passes to block 502 which illustrates a manager receiving a

command from the remote manager that is to be executed on one or more specified agents. Next, block 504 depicts the manager sending the command to the specified agents. Block 506, then, illustrates the manager processing the responses from the agents. These responses are generated by the agents in response to executing the command. Thereafter, block 508 depicts the manager returning the command responses to the remote manager. The process then passes back to block502.
[0103] Figure 6 illustrates a high level flow chart which depicts a manager
deleting its presence from a subnet administrator in accordance with the present invention. The process starts as depicted by block 600 and thereafter passes to block 602 which depicts a manager receiving a request to stop the manager application. Next, block 604 illustrates the manager requesting the deletion of this manager's Service Record to the subnet administrator. The process then terminates as depicted by block 606.
[0104] Figure 7 depicts a high level flow chart which illustrates an agent sending a report about the agent's active or inactive status to a manager in accordance with the present invention. The process starts as depicted by block 700 and thereafter passes to block 702 which illustrates an agent querying the subnet administrator to obtain the list of manager service records. Next, block 704 depicts the agent sending a report about its presence and active status to every manager on the list that the agent has not already reported to. Thus, the agent is registering with these managers. Block 706, then, illustrates this reporting agent thread idling for a predefined time period. The process then passes back to block 702.
[0105] Figure 8 illustrates a high level flow chart which depicts an agent executing a command received from a manager in accordance with the present invention. The process starts as depicted by block 800 and thereafter passes to block 802 which illustrates an agent receiving a command to be executed by the agent from a valid manager. Next, block 804 depicts the agent executing the command. Block 806, then, illustrates the agent

returning the results of the executed command to the requesting manager. The process then passes back to block 802.
[0106] Figure 9 depicts a high level flow chart which illustrates an agent sending a report to each manager that the agent is now inactive in accordance with the present invention. The process starts as depicted by block 900 and thereafter passes to block 902 which illustrates receiving a request to stop an agent. Next, block 904 illustrates the agent querying the subnet administrator for the list of Service Records in order to identify all active managers. Block 906, then, depicts the agent sending a report to each manager that this particular agent is now inactive. The process then terminates as illustrated by block 908.
[0107] It is important to note that while the present invention has been described in the context of a fully functioning data processing system, those of ordinary skill in the art will appreciate that the processes of the present invention are capable of being distributed in the form of a computer readable medium of instructions and a variety of forms and that the present invention applies equally regardless of the particular type of signal bearing media actually used to carry out the distribution. Examples of computer readable media include recordable-type media, such as a floppy disk, a hard disk drive, a RAM, CD-ROMs, DVD-ROMs, and transmission-type media, such as digital and analog communications links, wired or wireless communications links using transmission forms, such as, for example, radio frequency and light wave transmissions. The computer readable media may take the form of coded formats that are decoded for actual use in a particular data processing system.
[0108] The description of the present invention has been presented for purposes of illustration and description, and is not intended to be exhaustive or limited to the invention in the form disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art. The embodiment was chosen and described in order to best explain the principles of the invention, the practical application, and to enable others of ordinary skill in the art to understand the invention for various

embodiments with various modifications as are suited to the particular use contemplated.




Claims
1. A method for providing centralized management of a InfiniBand distributed
system-area network that includes a subnet administrator and a plurality of end
nodes, said method comprising the steps of: registering, by a first application,
its presence in said network with said subnet administrator; publicizing, by said
subnet administrator, said presence of said first application in said network,
said presence being required to be publicized before other applications are
able to communicate with said first application; registering, by a manager
application, its presence in said network with said subnet administrator;
registering, by one of a plurality of agent applications, its presence with said
manager application, said one of said plurality of agent applications not
registering with said subnet administrator; and publicizing a presence of said
one of said plurality of agent applications to said network by said manager
application.
2. The method according to claim 1, further comprising the steps of: requiring
said first application to register with said subnet administrator to publicize, by
said subnet administrator, said presence of said first application's to said
network, a second application being unaware of said first application's
presence and unable to communicate with said first application prior to said
first application's presence being publicized.
3. The method according to claim 1, further comprising the steps of: maintaining,
by said manager application, a current list of active agent applications; and
utilizing said list by said manager application to manage said plurality of agent
applications.
4. The method according to claim 1, further comprising the steps of: establishing
said plurality of agent applications, at least one of said plurality of agent
applications being established in ones of said plurality of end nodes, said
plurality of agent applications being independent from said manager
application.
5. The method according to claim 1, further comprising the steps of: receiving, by
said manager application, a command to be executed by specified ones of said
plurality of agent applications; sending said command from said manager
application to said specified ones of said plurality of agent applications; and

receiving within said manager application a response from said specified ones of said agent applications in response to said specified ones of said agent applications executing said command.
6. The method according to claim 1, further comprising the steps of: receiving by
said manager application a report from ones of said plurality of agent
applications that identifies an active/inactive status for said ones of said
plurality of agent applications.
7. The method according to claim 1, further comprising the steps of: maintaining,
by said subnet manager, a list of all manager applications that are registered
with said subnet administrator; obtaining, by one of said plurality of agent
applications, said list; registering, by said one of said plurality of agent
applications, its presence with each one of said manager applications that are
included in said list.
8. The method according to claim 1, further comprising the steps of: receiving,
within one of said plurality of agent applications, a request to stop executing;
transmitting to said manager application a notice that said one of said plurality
of agent applications will be stopped; and removing, by said manager
application, a registration of a presence of said one of said plurality of agent
applications.
9. A system for providing centralized management of a distributed system-area
network that includes a subnet administrator and a plurality of end nodes, said
system comprising: a first application for registering its presence in said
network with said subnet administrator; said subnet administrator publicizing
said presence of said first application in said network, said presence being
required to be publicized before other applications are able to communicate
with said first application; a manager application registering its presence in
said network with said subnet administrator; one of a plurality of agent
applications registering its presence with said manager application, said one of
said plurality of agent applications not registering with said subnet
administrator; and said manager application for publicizing a presence of said
one of said plurality of agent applications to said network.
10. A computer program product loadable into the internal memory of a digital computer, comprising software code portions for performing, when said product is run on a computer, to carry out the invention of claims 1 to 8.

Documents:

1383-delnp-2006-Abstract-(09-05-2014).pdf

1383-delnp-2006-Abstract-(24-01-2013).pdf

1383-delnp-2006-abstract.pdf

1383-DELNP-2006-Assignment-(21-10-2010).pdf

1383-delnp-2006-Claims-(09-05-2014).pdf

1383-delnp-2006-Claims-(24-01-2013).pdf

1383-delnp-2006-claims.pdf

1383-delnp-2006-Correspondence Others-(09-05-2014).pdf

1383-delnp-2006-Correspondence Others-(18-01-2013).pdf

1383-delnp-2006-Correspondence Others-(26-03-2014).pdf

1383-delnp-2006-Correspondence Others-(30-04-2014).pdf

1383-DELNP-2006-Correspondence-Others-(21-10-2010).pdf

1383-delnp-2006-Correspondence-Others-(24-01-2013).pdf

1383-delnp-2006-correspondence-others.pdf

1383-delnp-2006-description (complete).pdf

1383-delnp-2006-Drawings-(24-01-2013).pdf

1383-delnp-2006-drawings.pdf

1383-delnp-2006-form-1.pdf

1383-delnp-2006-Form-13-(24-01-2013).pdf

1383-delnp-2006-Form-2-(09-05-2014).pdf

1383-delnp-2006-Form-2-(24-01-2013).pdf

1383-delnp-2006-form-2.pdf

1383-delnp-2006-Form-3-(18-01-2013).pdf

1383-delnp-2006-form-3.pdf

1383-delnp-2006-form-5.pdf

1383-delnp-2006-GPA-(18-01-2013).pdf

1383-delnp-2006-GPA-(30-04-2014).pdf

1383-delnp-2006-pct-101.pdf

1383-delnp-2006-pct-210.pdf

1383-delnp-2006-pct-237.pdf

1383-delnp-2006-pct-304.pdf

1383-DELNP-2006-Petition-137-(21-10-2010).pdf

1383-delnp-2006-Petition-137-(24-01-2013).pdf


Patent Number 260594
Indian Patent Application Number 1383/DELNP/2006
PG Journal Number 20/2014
Publication Date 16-May-2014
Grant Date 10-May-2014
Date of Filing 14-Mar-2006
Name of Patentee INERNATIONAL BUSINESS MACHINES CORPORATION
Applicant Address NEW ORCHARD ROAD, AARMONK, NY 10504 USA
Inventors:
# Inventor's Name Inventor's Address
1 ELKO DAVID ARLEN 11126 READVILL LANE, AUSTIN, TX 78739 USA
2 LEPORE DANIEL 3707 HIDDEN ESTATES DRIVE, AUSTIN, TX 78727 USA
3 MEHTA CHETAN 10101 TREASURE ISLAND DRIVE, AUSTIN, TX 78730 USA
4 PFISTER GREGORY FRANCIS 5905 SIR IVOR COVE, AUSTIN, TX 78746 USA
5 SUGRUE PATRICK JOHN 416 THUNDERBAY DRIVE, GEORGETOWN, TX 78626 USA
PCT International Classification Number H04L 12/24
PCT International Application Number PCT/EP2004/051708
PCT International Filing date 2004-08-04
PCT Conventions:
# PCT Application Number Date of Convention Priority Country
1 10/640,821 2003-08-14 U.S.A.