Patent US5297262A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5297262A Expired / Lapsed US ⏱️ 0.0 years remaining

Methods and apparatus for dynamically managing input/output (I/O) connectivity

Assignee: Raritan Computer Inc
•
Filing: 1992-10-21
•
Granted: 1994-03-22
•
Expires: 2012-10-21
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

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.

Inventors

  • 👤 Michael C. Cox
  • 👤 Richard Cwiakala
  • 👤 Jean-Louis Fava
  • 👤 Gary A. Fisher, Sr.
  • 👤 Robert J. Gallagher
  • 👤 Eugene P. Hefferon
  • 👤 Karl H. Hoppe
  • 👤 Peter I. Kania
  • 👤 Martin W. Sachs

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-04 23:13
CPC Classifications
G; G06; G06F; G06F15/00; G06F15/16; G06F15/163; G06F15/173; G06F15/17356; G06F15/17368; G06F15/17375; G06F13/00; G06F13/38; G06F13/40; G06F13/4004; G06F13/4022

Claims Analysis

Total Claims: 33
Claim 1
Independent Claim 254 words
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.
Claim 2
Independent Claim 254 words
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.
Claim 3
Dependent Claim 20 words
A method as set forth in claim 1 wherein said step of collecting is performed by querying the channel subsystem.
Claim 4
Independent Claim 138 words
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.
Claim 5
Independent Claim 138 words
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.
Claim 6
Dependent Claim 39 words
A method as set forth in claim 3 further comprising the step of changing the physical connectivity in response to said switching command only if each of said host systems has performed said step of removing said logical availability.
Claim 7
Dependent Claim 32 words
A method as set forth in claim 3 further comprising the step of adding removed logical availability unless each of said host systems has performed said step of removing said logical availability.
Claim 8
Independent Claim 227 words
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).
Claim 9
Independent Claim 227 words
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).
Claim 10
Dependent Claim 50 words
A method as set forth in claim 6 wherein each switch controller is identified by a switch device number, and further comprising the step of 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.
Claim 11
Independent Claim 137 words
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.
Claim 12
Independent Claim 137 words
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.
Claim 13
Dependent Claim 21 words
A method as set forth in claim 8 further comprising the step of deleting the unique identifier for a given host.
Claim 14
Dependent Claim 51 words
A method as set forth in claim 1 further comprising the step of storing a unique identifier, for each host that shares a given switch, in storage means identified by said switch device number to thereby make available to each host the identity of all hosts that share the given switch.
Claim 15
Dependent Claim 68 words
A method as set forth in claim 8 in which each host has a defined domain of switches physically connected thereto and in which each switch has a key counter value that is incremented in response to connectivity changes, said method further comprising the step of saving the key counter values associated with switches in the domain of each host every time data is read from the switch.
Claim 16
Independent Claim 126 words
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.
Claim 17
Independent Claim 126 words
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.
Claim 18
Dependent Claim 27 words
A method as set forth in claim 12 wherein said path is made logically available if all possible sources of said commands specify the logically available state.
Claim 19
Dependent Claim 27 words
A method as set forth in claim 12 wherein said path is made logically unavailable if any possible source of said commands specify the logically unavailable state.
Claim 20
Dependent Claim 157 words
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).
Claim 21
Dependent Claim 157 words
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).
Claim 22
Dependent Claim 21 words
A method as in claim 15 in which the units at each end of a link exchange identifiers over said link.
Claim 23
Dependent Claim 55 words
A method as in claim 15 in which said system of units includes at least one processor unit coupled to a device control unit via a switching unit, said processor unit and said switching unit being interconnected by a first link, and said switching unit and said control unit being interconnected by a second link.
Claim 24
Dependent Claim 169 words
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.
Claim 25
Dependent Claim 169 words
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.
Claim 26
Dependent Claim 82 words
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.
Claim 27
Dependent Claim 82 words
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.
Claim 28
Dependent Claim 110 words
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.
Claim 29
Dependent Claim 110 words
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.
Claim 30
Dependent Claim 28 words
A method as in claim 20 in which said proposed connectivity change is executed only if all of said other hosts respond that they accept the proposed change.
Claim 31
Dependent Claim 28 words
A method as in claim 20 in which said proposed connectivity change is not executed if any of said other hosts respond that they reject the proposed change.
Claim 32
Dependent Claim 27 words
A method as in claim 20 in which said processign step includes the step of informing said other hosts if said proposed connectivity change is not executed.
Claim 33
Dependent Claim 59 words
A method as in claim 20 wherein multiple proposed changes or sets of proposed changes are sent from multiple users, and wherein step (a) further comprises locking the processing of step (c) to a proposed change or set of proposed changes to completion from one user before processing a proposed change or set of proposed changes from another user.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1997-03-21 1997-09-20 1998-03-22 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2001-03-21 2001-09-20 2002-03-22 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2005-03-21 2005-09-20 2006-03-22 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag