Methods and apparatus for dynamically managing input/output (I/O) connectivity
First Claim
1. A method for managing Input/Output (I/O) connectivity in a computer system that includes at least one host processor/operating system, a channel subsystem and at least one switch for switchably connecting at least one I/O device to a host via said channel subsystem, each switch having an associated switch controller and a dynamic switch control means, said switch controller identified by a switch device number and said dynamic switch control means having an address, each I/O device having an associated I/O device control unit, said method comprising the steps of:
- (a) identifying, with respect to each host, the existence in said computer system of any switch attached to a given host'"'"'s channel subsystem;
(b) identifying, for a given host'"'"'s channel subsystem, a switch attachment address for each channel attached to a switch and a switch attachment address for each interface of a control unit attached to a switch;
(c) identifying, for a given host'"'"'s channel subsystem, a logical switch identifier for each channel attached to a switch;
(d) identifying the address of the dynamic switch control means located within each switch, where said dynamic switch control means provides direct host access to switch connectivity data maintained by each switch controller;
(e) collecting the information identified in steps (a)-(d), via each host;
(f) determining at each host, from the information collected in step (e), the switch device number used by a given host to access each switch controller; and
(g) utilizing the information determined in step (f) to directly access switch connectivity data, via each host.
5 Assignments
0 Petitions
Accused Products
Abstract
A computer system, including at least one host (processor and operating system), a channel subsystem and at least one switch (together with an associated switch controller) for switchably connecting an I/O device (together with an associated I/O device control unit) to a host via said channel subsystem, in combination with means for dynamically managing I/O connectivity in said computer from each host. The I/O manager'"'"'s functions are centralized at the host level across the computer system. Each host is responsible for an instance of the manager. According to the preferred embodiment of the invention the computer system, I/O manager combination includes: (a) first means, located within each switch, for providing direct host access to the switch controller associated with a given switch; (b) second means, included in each host level instance of the manager, for automatically and dynamically determining the current I/O configuration and connectivity of each host; (c) third means, included in each host level instance of the manager, for performing System Integrated Switching (i.e., switching where any instance of the I/O manager can veto a proposed configuration change) and (d) fourth means, included in each host level instance of the manager, for insuring the integrity of the I/O connectivity database, through the use of an interlock mechanism, in a multiuser environment where each user can enter multiple part commands and processes concurrently.
273 Citations
24 Claims
-
1. A method for managing Input/Output (I/O) connectivity in a computer system that includes at least one host processor/operating system, a channel subsystem and at least one switch for switchably connecting at least one I/O device to a host via said channel subsystem, each switch having an associated switch controller and a dynamic switch control means, said switch controller identified by a switch device number and said dynamic switch control means having an address, each I/O device having an associated I/O device control unit, said method comprising the steps of:
-
(a) identifying, with respect to each host, the existence in said computer system of any switch attached to a given host'"'"'s channel subsystem; (b) identifying, for a given host'"'"'s channel subsystem, a switch attachment address for each channel attached to a switch and a switch attachment address for each interface of a control unit attached to a switch; (c) identifying, for a given host'"'"'s channel subsystem, a logical switch identifier for each channel attached to a switch; (d) identifying the address of the dynamic switch control means located within each switch, where said dynamic switch control means provides direct host access to switch connectivity data maintained by each switch controller; (e) collecting the information identified in steps (a)-(d), via each host; (f) determining at each host, from the information collected in step (e), the switch device number used by a given host to access each switch controller; and (g) utilizing the information determined in step (f) to directly access switch connectivity data, via each host. - View Dependent Claims (2, 10)
-
-
3. A method for managing Input/Output (I/O) connectivity in a computer system that includes a plurality of host systems and at least one switch, for switchably connecting at least one I/O device to said host systems in response to a switching command which alters the switchable connection of said host systems to said I/O device, comprising the steps of:
-
(a) automatically determining at each of said plurality of host systems, what logical availability would be removed through a change in physical connectivity if said command were executed by said switch; (b) automatically determining, at one of said plurality of host systems, if the logical availability that would be removed is required by any of said host systems; and (c) removing said logical availability at a given host system only if it is not required by the given host system. - View Dependent Claims (4, 5)
-
-
6. A method for dynamically creating an Input/Output (I/O) connectivity data base in a computer system that includes at least one host processor/operating system, a channel subsystem and at least one switch for switchably connecting at least one I/O device to a host via said channel subsystem, each switch having an associated switch controller and a dynamic switch control means, each dynamic switch control means having an address, each I/O device having an associated I/O device control unit, said method comprising the steps of:
-
(a) identifying, with respect to each host, the existence in said computer system of any switch attached to a given host'"'"'s channel subsystem; (b) identifying, for a given host'"'"'s channel subsystem, a switch attachment address for each channel attached to a switch and a switch attachment address for each interface of a control unit attached to a switch; (c) identifying, for a given host'"'"'s channel subsystem, a logical switch identifier for each channel attached to a switch; (d) identifying the address of dynamic switch control means, located within each switch, where said dynamic switch control means provides direct host access to switch connectivity data maintained by each switch controller; (e) collecting the information identified in steps (a)-(d), via each host; and (f) automatically and dynamically determining, within a given host, the I/O configuration connectivity for that host from the data collected in step (e). - View Dependent Claims (7)
-
-
8. A method for managing Input/Output (I/O) connectivity in a computer system that includes a plurality of host processor/operating systems, a channel subsystem and at least one switch device being shared by said plurality of host processor/operating systems for switchably connecting at least one I/O device to a host via said channel subsystem, each switch device having a device number and an associated switch controller, each I/O device having an associated I/O device control unit, said method comprising the steps of:
-
(a) determining the device number of each switch device being shared by said plurality of host processor/operating systems; and (b) storing a unique identifier for each host that shares a given switch in storage means identified by said device number to thereby make available to each host the identity of all hosts that share the given switch. - View Dependent Claims (9, 11)
-
-
12. A method for eliminating the possibility of interference between conflicting commands which control a given path in a computer system of which commands can be issued from a plurality of sources, said path having a logical availability state, said logical availability state having a logically available state indicating said path is logically available and a logically unavailable state indicating said path is logically unavailable, said method comprising the steps of:
-
(a) associating a path status bit with each of said plurality of sources for said commands, said path status bit indicating the logical availability state specified by the corresponding source; and (b) logically combining said path status bits; and (c) using said logically combined path status bits to control the logical availability state of said path. - View Dependent Claims (13, 14)
-
-
15. In a system of units interconnected by links forming an actual configuration of said system, each link coupling a pair of units, each of said units having a unique identifier associated therewith, each unit of a coupled pair of units having a respective interface connected to the link, each of said interfaces having an interface identifier associated therewith, a machine-implemented method for determining the actual configuration of said system including the steps of:
-
(a) for each of said links, transmitting the unique identifier associated with the unit and the interface identifier associated with the interface at one end of the link over said link to the unit at the other end of the link to generate neighbor information identifying the transmitting unit and associated interface to the unit at said other end of said link; (b) collecting said neighbor information; and (c) determining the actual configuration of said system from the neighbor information collected in step (b). - View Dependent Claims (16, 17)
-
-
18. Data processing apparatus comprising a computer system, including:
-
(a) a first host processor/operating system having a channel subsystem associated therewith; (b) an Input/Output (I/O) device control unit having an I/O device attached thereto; (c) a switch for switchably connecting said I/O device control unit to said channel subsystem to provide I/O connectivity between said first host processor/operating system and said I/O device; (d) a second host processor/operating system having a channel subsystem associated therewith connected to said switch to provide I/O connectivity between said second host processor/operating system and said I/O device; (e) dynamic managing means for dynamically managing said I/O connectivity between said first and second host processor/operating systems and said I/O device including processing means for processing commands issued to said dynamic managing means from multiple users; and (f) lock means in said dynamic managing means for locking said processing means for processing a command or set of commands to completion from one user before processing a subsequently issued command or set of commands from another user.
-
-
19. Data processing apparatus comprising a computer system, including:
-
(a) a host processor/operating system having a channel subsystem associated therewith; (b) an Input/Output (I/O) device control unit having an I/O device attached thereto; (c) a switch for switchably connecting said I/O device control unit to said channel subsystem along paths to provide I/O connectivity between said host and said I/O device, said paths having a defined configuration including said switch; and (d) means for automatically and dynamically determining said configuration from said host.
-
-
20. In a computer system that includes a plurality of host processor/operating systems and at least one switch for switchably connecting at least one Input/Output (I/O) device to said hosts in response to a switch command that alters the switchable connection of said hosts to said I/O device, a machine-implemented method for handling a proposed connectivity change originating from one of said hosts, comprising the steps of:
-
(a) communicating the proposed connectivity change from the originating host to the other hosts in said system; (b) obtaining responses from said other hosts indicating whether they accept the proposed connectivity change; and (c) processing said proposed connectivity change in accordance with said responses. - View Dependent Claims (21, 22, 23, 24)
-
Specification