Method of distributed resource management of I/O devices in a network cluster
First Claim
1. A method of updating a local I/O resource table at a host in a network cluster, the I/O resource table identifying the configuration and the allocation of I/O resources in the network cluster, said method comprising:
- obtaining a list of other hosts in a network cluster including their addresses;
establishing a connection to one or more of the other hosts in the cluster;
obtaining at least a portion of an I/O resource table from one or more of the other hosts in the network cluster;
identifying the I/O resource table obtained from the other hosts in the cluster that is the most current; and
updating the host'"'"'s local I/O resource table based on the most current I/O resource table.
2 Assignments
0 Petitions
Accused Products
Abstract
I/O resources are allocated to one or more hosts in a network cluster. Each host stores a cluster resource table (CRT) that identifies the configuration and allocation of I/O resources within its cluster. Each host includes an I/O resource management agent (RMA) within the operating system. A host'"'"'s RMA obtains a list of all hosts and I/O units and their network addresses from the fabric services. The RMA then queries each host to obtain at least a portion of the CRTs of each of the host'"'"'s in the cluster. The RMA replaces its local CRT with the most current version of the CRT (e.g., based on a time and date stamp or version number of each CRT). The host'"'"'s RMA then queries each I/O unit to identify the I/O controllers and their controller number in the cluster. The RMA then queries each I/O controller in the cluster to identify the I/O devices in the cluster. The RMA then updates its CRT based on this information. The RMA can provide the updated CRT to each of the hosts in the cluster.
88 Citations
22 Claims
-
1. A method of updating a local I/O resource table at a host in a network cluster, the I/O resource table identifying the configuration and the allocation of I/O resources in the network cluster, said method comprising:
-
obtaining a list of other hosts in a network cluster including their addresses;
establishing a connection to one or more of the other hosts in the cluster;
obtaining at least a portion of an I/O resource table from one or more of the other hosts in the network cluster;
identifying the I/O resource table obtained from the other hosts in the cluster that is the most current; and
updating the host'"'"'s local I/O resource table based on the most current I/O resource table. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method of updating an I/O resource table at a host in a network cluster, the I/O resource table identifying the configuration and the allocation of I/O resources in the network cluster, said method comprising:
-
establishing a connection to a central database;
obtaining from the central database a list of other hosts and I/O units in a network cluster including their addresses;
establishing a connection to one or more of the other hosts in the cluster;
obtaining at least a portion of an I/O resource table from one or more of the other hosts in the network;
identifying the I/O resource table of the other hosts in the cluster that is the most current;
updating the host'"'"'s local I/O resource table based on the most current I/O resource table;
establishing a connection to one or more I/O units in the cluster;
determining from the I/O units if there have been I/O devices added or removed from the cluster;
further updating the host'"'"'s local I/O resource table if I/O devices have been added or removed from the cluster. - View Dependent Claims (9, 10)
obtaining a list of the I/O controllers included within one or more I/O units and identification information of each I/O controller within the one or more I/O units;
establishing a connection to one or more of the I/O controllers; and
obtaining from each I/O controller a list of I/O devices connected to the I/O controller.
-
-
10. The method as claimed in claim 9, wherein said step of obtaining a list comprises obtaining a list of the I/O controllers within one or more I/O units and a controller number of each I/O controller within the one or more I/O units.
-
11. A computer program encoded on a computer readable medium for updating a local I/O resource table at a host in a network cluster, the I/O resource table identifying the configuration and the allocation of I/O resources in the network cluster, the computer program causing the following to be performed when executed by a computer:
-
obtaining a list of one or more of the other hosts in a network cluster including their addresses;
establishing a connection to one or more of the other hosts in the cluster;
obtaining at least a portion of an I/O resource table from one or more of the other hosts in the network;
identifying the I/O resource table obtained from the other hosts in the cluster that is the most current; and
updating the host'"'"'s local I/O resource table based on the most current I/O resource table.
-
-
12. A network cluster comprising:
-
a database storing a list of hosts in the cluster and their addresses;
a plurality of I/O resources;
a plurality of hosts each coupled over a network to each of the I/O resources, each host including;
an I/O resource table stored in a local storage device, each I/O resource table identifying a configuration and an allocation of the I/O resources in the cluster;
an I/O resource management agent provided within the host'"'"'s operating system, the I/O resource management agent obtaining the list of the hosts in the cluster and their addresses from the database, the I/O resource management agent establishing a connection to one or more other hosts in the cluster to obtain at least a portion of the I/O resource table from the other hosts and then updating its local I/O resource table if the other host'"'"'s I/O resource table is more current that its local I/O resource table.
-
-
13. A host provided in a network cluster that includes a plurality of hosts and plurality of I/O resources coupled together over a network, the cluster including a central database storing a list of the hosts in the cluster and their addresses, each host comprising:
-
an I/O resource table stored in a local storage device, the I/O resource table identifying a configuration and an allocation of the I/O resources in the cluster;
an I/O resource management agent provided within the host'"'"'s operating system, the I/O resource management agent obtaining the list of the hosts in the cluster and their addresses from the database, the I/O resource management agent obtaining at least a portion of the I/O resource table from one or more of the other hosts in the cluster and then updating its local I/O resource table if any of the other host'"'"'s I/O resource table is more current that its local I/O resource table. - View Dependent Claims (14, 15, 16)
-
-
17. A network comprising:
-
a fabric;
one or more clusters of hosts and I/O units interconnected via the fabric; and
a fabric services database provided in the fabric to store a list of hosts and I/O units and respective network addresses in one or more clusters;
wherein each host has access to any one of the I/O units in said one or more clusters, and comprises;
an operating system (OS);
a local storage device containing a cluster resource table (CRT) to store information identifying configuration and allocation of I/O resources in one or more clusters; and
a resource management agent (RMA) provided within the operating system (OS) and configured to obtain the list of hosts and I/O units and respective network addresses in the one or more clusters from the fabric services database;
obtain at least a portion of the cluster resource table (CRT) from other hosts and then update its cluster resource table (CRT) if the cluster resource table (CRT) from other hosts is more current that its cluster resource table (CRT).- View Dependent Claims (18, 19, 20, 21, 22)
-
Specification