Logical path scheduler for disconnecting currently connected paths to enable logical paths awaiting connection to connect based on path control tables thereof
First Claim
1. A logical path scheduling apparatus comprising:
- a. one or more processors each controlled by an operating system, each of said one or more processors having one or more channels;
b. a dynamic switch having a plurality of ports, said dynamic switch being connected at a first of said ports to a first of said channels, and at a second of said ports to a second of said channels;
c. a control unit connected to and controlling one or more devices, said control unit being connected to said dynamic switch at a third of said ports, said control unit being connected to said first channel when said first port is connected by a first logical path to said third port, and being connected to said second channel when said second port is connected by a second logical path to said third port, said control unit being capable of simultaneous connection to a maximum number N of said one or more channels by said maximum number N of logical paths; and
d. logical path scheduler (LPS) means, in a master operating system in one of said one or more processors, for managing requirements for at least N+1 of said logical paths among said one or more channels, each of said at least N+1 logical paths being capable of being connected to form a connected logical path between one of said channels and said control unit and having a current status of either connected or disconnected, said LPS means comprising (1) a path control table having entries corresponding to said at least N+1 logical paths, each of said entries containing information on the current status of the corresponding logical path, and (2) allocation means for examining said entries to determine whether particular ones of said logical paths should be connected, disconnected, or left in a current status, for disconnecting one or more of said logical paths in accordance with such determination as required to permit one or more currently disconnected logical paths to be connected, and for connecting said one or more currently disconnected logical paths to form connected logical paths between one or more of said channels and said control unit.
0 Assignments
0 Petitions
Accused Products
Abstract
A dynamic switch connects a control unit to a plurality of channels on one or more processors, each processor controlled by an operating system. A logical path scheduler (LPS) within a master operating system in one of the processors contains a path control table which contains an entry for each control unit, system, and logical path combination--each entry indicating current path status (connected or disconnected), and time in that status. I/O requests within the systems for which no path currently exists are queued, and the LPS initiates connections and disconnections for the paths to equitably allocate the maximum number of simultaneous path connections allowed for the control unit, among more than that maximum number of contending channels.
-
Citations
19 Claims
-
1. A logical path scheduling apparatus comprising:
-
a. one or more processors each controlled by an operating system, each of said one or more processors having one or more channels; b. a dynamic switch having a plurality of ports, said dynamic switch being connected at a first of said ports to a first of said channels, and at a second of said ports to a second of said channels; c. a control unit connected to and controlling one or more devices, said control unit being connected to said dynamic switch at a third of said ports, said control unit being connected to said first channel when said first port is connected by a first logical path to said third port, and being connected to said second channel when said second port is connected by a second logical path to said third port, said control unit being capable of simultaneous connection to a maximum number N of said one or more channels by said maximum number N of logical paths; and d. logical path scheduler (LPS) means, in a master operating system in one of said one or more processors, for managing requirements for at least N+1 of said logical paths among said one or more channels, each of said at least N+1 logical paths being capable of being connected to form a connected logical path between one of said channels and said control unit and having a current status of either connected or disconnected, said LPS means comprising (1) a path control table having entries corresponding to said at least N+1 logical paths, each of said entries containing information on the current status of the corresponding logical path, and (2) allocation means for examining said entries to determine whether particular ones of said logical paths should be connected, disconnected, or left in a current status, for disconnecting one or more of said logical paths in accordance with such determination as required to permit one or more currently disconnected logical paths to be connected, and for connecting said one or more currently disconnected logical paths to form connected logical paths between one or more of said channels and said control unit. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A logical path scheduling apparatus comprising:
-
a. one or more processors each controlled by an operating system, each of said one or more processors having one or more channels and each of said one of more processors comprising means for communicating configuration changes to a master operating system for recording in a path control table by a logical path scheduler (LPS) means, each of said operating systems comprising means for queuing I/O requests, for which no logical path currently exits, for subsequent execution; b. a dynamic switch having a plurality of ports, said dynamic switch being connected at a first of said ports to a first of said channels, and at a second of said ports to a second of said channels; c. a control unit connected to and controlling one or more devices, said control unit being connected to said dynamic switch at a third of said ports, said control unit being connected to said first channel when said first port is connected by a first logical path to said third port, and being connected to said second channel when said second port is connected by a second logical path to said third port, said control unit being capable of simultaneous connection to a maximum number N of said one or more channels by said maximum number N of logical paths; and d. said logical path scheduler (LPS) means, in said master operating system in one of said one or more processors, for managing requirements for at least N+1 of said logical paths among said one or more channels, each of said at least N+1 logical paths being capable of being connected to form a connected logical path between one of said channels and said control unit and having a current status of either connected or disconnected, said LPS means comprising allocation means for determining whether a particular one of said logical paths should be connected, disconnected, or left in a current status and effecting a connection or disconnection, as appropriate, said LPS means further comprising (1) said path control table, said path control table having entries corresponding to said at least N+1 logical paths, each of said entries comprising a control unit identifier identifying said control unit, a system identifier identifying said processor having said operating system, a path identifier identifying said associated logical path, a status identifier identifying no more than N paths as being connected at any instant, and each of said one or more entries further comprising an allocation field for use by said allocation means in said determining, said allocation field comprising a connect time field for identifying a time interval of connection of said system to said control unit through said associated logical path, said allocation field further comprising a wait time field for identifying a time interval of waiting for connection to said control unit by said system through said associated logical path, and (2) allocation means for examining said entries to determine whether particular ones of said logical paths should be connected, disconnected, or left in a current status, for disconnecting one or more of said logical paths in accordance with such determination as required to permit one or more currently disconnected logical paths to be connected, and for connecting said one or more currently disconnected logical paths to form connected logical paths between one or more of said channels and said control unit.
-
-
8. A method for performing logical I/O path scheduling in a data processing system configured to simultaneously connect N logical paths between channels and control units, said method comprising the steps of:
-
a) periodically monitoring a path control table in a master operating system in one of a complex of one or more processors, said path control table comprising at least N+1 connection status entries, to determine if any of said status entries represent a "wait" status, each of said entries representing status of an associated path between a control unit and one of a plurality of channels in said one or more processors, said paths being connected through a dynamic switch; and b) initiating at least one disconnect operation and at least one connect operation to said dynamic switch when said step of periodically monitoring detects at least one said "wait" status. - View Dependent Claims (9, 10, 11, 12)
-
-
13. A method for performing logical I/O path scheduling in a data processing system configured to simultaneously connect N logical paths between channels and control units, said method comprising the steps of:
-
a) initializing a path control table, comprising at least N+1 connection status entries, each of said entries representing status of an associated path between a control unit and one of a plurality of channels in a complex of one or more processors, said paths being connected through a dynamic switch, by having each of said one or more processors determine its configuration status and transmit said configuration status to a master operating system in a master one of said complex of one or more processors to be included in said path control table; b) queuing for subsequent execution, within an I/O supervisor in one of said processors, an I/O request for a currently non-connected dynamic pathing device connected to said control unit; c) periodically monitoring said path control table in said master operating system, to determine if any of said entries represent a "wait" status; d) initiating at least one disconnect operation and at least one connect operation to said dynamic switch when said step of periodically monitoring detects at least one "wait" status; e) updating said path control table by having one of said one or more processors, having undergone a change in said configuration status, transmit an updated configuration status to said master operating system to be included in said path control table; and f) on detecting a failure of said master operating system, having a new master operating system in another of said one or more processors assume master operating system responsibility by broadcasting to all others of said one or more processors notice of said assuming, and having said new master operating system initialize a new path control table by obtaining configuration status from each of said all others of said one or more processors.
-
-
14. In a computer system complex comprising one or more processors each controlled by an operating system, each of said one or more processors having one or more channels;
- a dynamic switch having a plurality of ports, said dynamic switch being connected at a first of said ports to a first of said channels, and at a second of said ports to a second of said channels; and
a control unit connected to and controlling one or more devices, said control unit being connected to said dynamic switch at a third of said ports, said control unit being connected to said first channel when said first port is connected by a first logical path to said third port, and being connected to said second channel when said second port is connected by a second logical path to said third port, said control unit being capable of simultaneous connection to a maximum number N of said one or more channels by said maximum number N of logical paths, apparatus for managing requirements for at least N+1 of said logical paths among said one or more channels, comprising;a. means for defining a path control table having entries corresponding to said at least N+1 logical paths, each of said at least N+1 logical paths being capable of being connected to form a connected logical path between one of said channels and said control unit and having a current status of either connected or disconnected, each of said entries containing information on the current status of the corresponding logical path; and b. means for examining said entries to determine whether particular ones of said logical paths should be connected, disconnected, or left in their current status; c. means for disconnecting one or more of said logical paths in accordance with such determination as required to permit one or more currently disconnected logical paths to be connected; and d. means for connecting said one or more currently disconnected logical paths to form connected logical paths between one or more of said channels and said control unit.
- a dynamic switch having a plurality of ports, said dynamic switch being connected at a first of said ports to a first of said channels, and at a second of said ports to a second of said channels; and
-
15. In a computer system complex comprising one or more processors each controlled by an operating system, each of said one or more processors having one or more channels;
- a dynamic switch having a plurality of ports, said dynamic switch being connected at a first of said ports to a first of said channels, and at a second of said ports to a second of said channels; and
a control unit connected to and controlling one or more devices, said control unit being connected to said dynamic switch at a third of said ports, said control unit being connected to said first channel when said first port is connected by a first logical path to said third port, and being connected to said second channel when said second port is connected by a second logical path to said third port, said control unit being capable of simultaneous connection to a maximum number N of said one or more channels by said maximum number N of logical paths, a method of managing requirements for at least N+1 of said logical paths among said one or more channels, comprising the steps of;a. defining a path control table having entries corresponding to said at least N+1 logical paths, each of said at least N+1 logical paths being capable of being connected to form a connected logical path between one of said channels and said control unit and having a current status of either connected or disconnected, each of said entries containing information on the current status of the corresponding logical path; and b. examining said entries to determine whether particular ones of said logical paths should be connected, disconnected, or left in their current status; c. disconnecting one or more of said logical paths in accordance with such determination as required to permit one or more currently disconnected logical paths to be connected; and d. connecting said one or more currently disconnected logical paths to form connected logical paths between one or more of said channels and said control unit. - View Dependent Claims (16, 17, 18, 19)
- a dynamic switch having a plurality of ports, said dynamic switch being connected at a first of said ports to a first of said channels, and at a second of said ports to a second of said channels; and
Specification