US2004199680A1PendingUtilityA1

Centralized technique for assigning I/O controllers to hosts in a cluster

49
Assignee: INTEL CORPPriority: Dec 27, 1999Filed: Apr 19, 2004Published: Oct 7, 2004
Est. expiryDec 27, 2019(expired)· nominal 20-yr term from priority
Inventors:Rajesh Shah
H04L 2101/622H04L 61/5038
49
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A technique is provided for assigning an I/O controller to a host in a cluster. The cluster includes one or more hosts and one or more I/O controllers connected by a cluster interconnection fabric. In an example embodiment, an I/O controller is connected to the cluster interconnection fabric. The I/O controller connected to the fabric is detected and a network address is assigned to the I/O controller. An administrative agent is used to assign the I/O controller to a host that is connected to the cluster interconnection fabric. A message is sent to the host informing the host that the I/O controller is assigned to the host and providing the network address of the I/O controller.

Claims

exact text as granted — not AI-modified
1 - 19 . (Canceled)  
     
     
         20 . A fabric manager coupled to a cluster interconnection fabric, the fabric manager comprising instructions to assign an I/O controller coupled to the cluster interconnection fabric to one or more hosts coupled to the cluster interconnection fabric.  
     
     
         21 . The fabric manager of  claim 20  wherein the fabric manager further comprises instructions to send messages to hosts coupled to the cluster interconnection fabric indicating which hosts are allowed access to the I/O controller.  
     
     
         22 . The fabric manager of  claim 20 , wherein the fabric manager comprises: 
 a fabric services to detect I/O units coupled to the cluster interconnection fabric, to assign a network address to each I/O unit and to each port of each I/O unit, and to initialize each I/O unit; and    an I/O controller manager to identify each I/O controller coupled to a port of each of the I/O units, to control the I/O controllers, to identify each I/O device coupled to each I/O controller, to assign each I/O controller to one or more hosts coupled to the cluster interconnection fabric to allow each I/O controller assigned to a selected host to be accessed by the selected host, the I/O controller manager to send messages to the hosts over the cluster interconnection fabric to report each I/O controller assigned to each host.    
     
     
         23 . The fabric manager of  claim 22  wherein the I/O controller manager comprises a software agent running on one of the hosts or a distributed software agent running on a plurality of the hosts.  
     
     
         24 . The fabric manager of  claim 20  wherein the fabric manager is coupled to a computer and is controlled by a human administrator through the computer.  
     
     
         25 . The fabric manager of  claim 20  wherein the fabric manager, the I/O controller, the hosts, and the cluster interconnection fabric are compatible with a Next Generation Input/Output (NGIO) specification.  
     
     
         26 . A method of operating a cluster comprising: 
 detecting an I/O controller in a cluster;    assigning the I/O controller to a host in the cluster; and    informing the host that the I/O controller is assigned to the host.    
     
     
         27 . The method of  claim 26 , further comprising: 
 assigning the I/O controller to two or more selected hosts in the cluster; and    informing the selected hosts that the I/O controller is assigned to the selected hosts.    
     
     
         28 . The method of  claim 26 , further comprising: 
 assigning a network address to the I/O controller; and    providing the network address of the I/O controller to the host.    
     
     
         29 . The method of  claim 26  wherein: 
 detecting an I/O controller comprises detecting an I/O controller selected from one or more I/O controllers coupled to a cluster interconnection fabric in the cluster;  
 assigning the I/O controller further comprises assigning the selected I/O controller to a host selected from one or more hosts coupled to the cluster interconnection fabric; and  
 informing the host further comprises sending a message to the selected host over the cluster interconnection fabric.  
 
     
     
         30 . The method of  claim 29 , further comprising operating the cluster according to a Next Generation Input/Output (NGIO) specification.  
     
     
         31 . The method of  claim 29  wherein: 
 detecting an I/O controller further comprises detecting the selected I/O controller using an interrupt mechanism or by sweeping the cluster interconnection fabric; and  
 assigning the I/O controller further comprises assigning the selected I/O controller to the selected host by matching the selected I/O controller to the selected host using a database or based upon an assignment or information received from a human administrator.  
 
     
     
         32 . The method of  claim 29 , further comprising: 
 sending a message over the cluster interconnection fabric to the selected host identifying the selected I/O controller according to a type of I/O controller; and    sending a message over the cluster interconnection fabric to a host-fabric adapter of the selected host, the host-fabric adapter being coupled to the cluster interconnection fabric and having an address.    
     
     
         33 . The method of  claim 29  wherein: 
 detecting an I/O controller further comprises detecting the selected I/O controller with a fabric manager coupled to the cluster interconnection fabric;  
 assigning the I/O controller further comprises assigning the selected I/O controller using the fabric manager to allow the selected host to access the selected I/O controller; and  
 informing the host further comprises sending a message to the selected host over the cluster interconnection fabric from the fabric manager to report the selected I/O controller to the selected host.  
 
     
     
         34 . The method of  claim 29 , further comprising: 
 detecting one or more I/O units coupled to the cluster interconnection fabric, each I/O unit being coupled between the cluster interconnection fabric through an I/O controller-fabric adapter and a port for each of one or more I/O controllers;    identifying each I/O controller coupled between a port of one of the I/O units and one or more I/O devices to exchange information between the one or more I/O devices and the cluster interconnection fabric;    sending a message from a fabric manager over the cluster interconnection fabric to each I/O unit to identify I/O controllers coupled to each I/O unit;    assigning an address to each I/O unit or to each port of each I/O unit; and    assigning each I/O controller to one or more of the hosts coupled to the cluster interconnection fabric, each of the hosts comprising a personal computer or a server.    
     
     
         35 . A cluster comprising: 
 one or more hosts;    an I/O controller; and    a fabric manager constructed and arranged to assign the I/O controller to a selected one of the hosts comprising a personal computer and to send a message to the personal computer indicating that the I/O controller has been assigned to the personal computer.    
     
     
         36 . The cluster of  claim 35  wherein the fabric manager comprises: 
 a fabric services to detect an I/O unit coupled to the I/O controller in the cluster and to assign a network address to the I/O unit; and  
 an I/O controller manager coupled to the fabric services to identify the I/O controller coupled to the I/O unit, to assign the I/O controller to the personal computer, and to send a message to the personal computer to report the I/O controller.  
 
     
     
         37 . The cluster of  claim 35  wherein: 
 at least one of the one or more hosts are coupled to a cluster interconnection fabric;  
 the I/O controller is coupled to the cluster interconnection fabric; and  
 the fabric manager is coupled to the cluster interconnection fabric to assign the I/O controller and to send messages to the hosts over the cluster interconnection fabric.  
 
     
     
         38 . The cluster of  claim 37  wherein the hosts, the I/O controller, the cluster interconnection fabric, and the fabric manager are compatible with a Next Generation Input/Output (NGIO) specification.  
     
     
         39 . The cluster of  claim 37 , further comprising: 
 a plurality of I/O controllers coupled to the cluster interconnection fabric;    one or more I/O devices coupled to each I/O controller; and    wherein the fabric manager is coupled to the cluster interconnection fabric to assign each I/O controller to one or more hosts.    
     
     
         40 . The cluster of  claim 39  wherein: 
 the cluster interconnection fabric appears to each of the hosts in the cluster as an I/O bus;  
 each host comprises: 
 a processor;  
 a memory coupled to the processor;  
 a host-fabric adapter coupled between the processor and the cluster interconnection fabric to interface the host to the cluster interconnection fabric; and  
 an operating system comprising a kernel, a device driver for the host-fabric adapter, an I/O controller driver that is specific for each assigned I/O controller, and a fabric bus driver to provide a bus abstraction for the cluster interconnection fabric; and  
 
 further comprising one or more I/O units, each I/O unit being coupled between one or more I/O controllers and the cluster interconnection fabric through an I/O controller-fabric adapter to interface between the cluster interconnection fabric and each I/O controller coupled to the I/O unit, each I/O controller being coupled between an I/O unit and one or more I/O devices to control the I/O devices.  
 
     
     
         41 . The cluster of  claim 37  wherein the cluster interconnection fabric comprises a collection of routers, switches, and communication links that connect hosts and I/O units.  
     
     
         42 . A machine-readable medium that provides instructions, which when executed by one or more processors, cause the processors to perform operations comprising: 
 detecting an I/O controller in a cluster;    assigning the I/O controller to a host in the cluster; and    informing the host that the I/O controller is assigned to the host.    
     
     
         43 . The machine-readable medium of  claim 42  wherein the instructions, when further executed by one or more of the processors, cause the processors to perform operations further comprising: 
 detecting each of one or more I/O controllers coupled to a cluster interconnection fabric in the cluster;  
 assigning each I/O controller to one or more hosts coupled to the cluster interconnection fabric to allow each I/O controller assigned to a selected host to be accessed by the selected host; and  
 sending messages to the hosts over the cluster interconnection fabric to report each I/O controller assigned to each host.  
 
     
     
         44 . The machine-readable medium of  claim 42  wherein the instructions, when further executed by one or more of the processors, cause the processors to perform operations further comprising: 
 detecting I/O units coupled to a cluster interconnection fabric coupling elements of the cluster together;  
 assigning a network address to each I/O unit; and  
 initializing each I/O unit.  
 
     
     
         45 . The machine-readable medium of  claim 44  wherein the instructions, when further executed by one or more of the processors, cause the processors to perform operations further comprising: 
 identifying each I/O controller coupled to a port of each of the I/O units; and  
 identifying each I/O device coupled to each I/O controller.  
 
     
     
         46 . The machine-readable medium of  claim 42  wherein the instructions, which when executed by one or more of the processors, are executed according to a Next Generation Input/Output (NGIO) specification.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.