Logical to physical connectivity verification in a predefined networking environment

A method, information system, and computer readable storage medium verify predefined connectivity for I/O devices. Current predefined logical connection data and actual physical connection data is gathered. The predefined logical connection data and the actual physical connection data are formatted into a plurality of sortable tables. At least a portion of the predefined logical connection data is formatted into a predefined channels table and at least a portion of the actual physical connection data is formatted into a node information table. The portion of the predefined logical connection data is compared with the portion of the actual physical connection data. The portion of the predefined logical connection data is determined to substantially match/not match the portion of the actual physical connection data. At least one predefined logical connection associated with the predefined logical connection data that fails to substantially match the actual physical connection data is displayed to a user.

FIELD OF THE INVENTION

The present invention generally relates to the field of predefined networking environments, and more particularly relates to verifying logical to physical connectivity within a networking environment.

BACKGROUND OF THE INVENTION

One current limitation found in many network computing environments is the ability to easily and accurately verify the physical and logical connectivity as described by their static definition. Such a limitation has plagued generations of system owners. Typically, in order to acquire the necessary data to begin verification, data collection is generally performed by the various directors, usually from an array of different vendors. Current tools provide the system owner with information associated with the actual physical connections. However, this still leaves the task of ensuring the logical definitions to the customer. Current tools outside the processor generally do not have access to the static definition file, which makes it difficult to correlate the physical to logical connectivity.

SUMMARY OF THE INVENTION

Disclosed is a method for verifying predefined connectivity for I/O devices. The method includes gathering current predefined logical connection data associated with an information processing system. Actual physical connection data associated with the information processing system is also gathered. The predefined logical connection data and the actual physical connection data is formatted into a plurality of sortable tables. At least a portion of the predefined logical connection data is formatted into a predefined channels table and at least a portion of the actual physical connection data is formatted into a node information table. The portion of the predefined logical connection data in the predefined channels table is compared with the portion of the actual physical connection data in the node information table in response to the formatting. The portion of the predefined logical connection data is determined to either substantially match or not substantially match the portion of the actual physical connection data based on the comparing. At least one predefined logical connection that is associated with predefined logical connection data that fails to substantially match the actual physical connection data to a user and/or ii) substantially matches the actual physical connection data is displayed to a user.

In another embodiment, an information processing system for verifying predefined connectivity for I/O devices is disclosed. The information processing system includes a memory and a processor communicatively coupled to the memory. The information processing system also includes a connectivity verification module that is communicatively coupled to the memory and processor. The connectivity verification module is adapted to gather current predefined logical connection data associated with an information processing system. Actual physical connection data associated with the information processing system is also gathered. The predefined logical connection data and the actual physical connection data is formatted into a plurality of sortable tables. At least a portion of the predefined logical connection data is formatted into a predefined channels table and at least a portion of the actual physical connection data is formatted into a node information table. The portion of the predefined logical connection data in the predefined channels table is compared with the portion of the actual physical connection data in the node information table in response to the formatting. The portion of the predefined logical connection data is determined to either substantially match or not substantially match the portion of the actual physical connection data based on the comparing. At least one predefined logical connection that is associated with predefined logical connection data that fails to substantially match the actual physical connection data to a user and/or ii) substantially matches the actual physical connection data is displayed to a user.

In yet another embodiment, a computer readable storage medium for verifying predefined connectivity for I/O devices is disclosed. The computer readable storage medium includes instructions for gathering current predefined logical connection data associated with an information processing system. Actual physical connection data associated with the information processing system is also gathered. The predefined logical connection data and the actual physical connection data is formatted into a plurality of sortable tables. At least a portion of the predefined logical connection data is formatted into a predefined channels table and at least a portion of the actual physical connection data is formatted into a node information table. The portion of the predefined logical connection data in the predefined channels table is compared with the portion of the actual physical connection data in the node information table in response to the formatting. The portion of the predefined logical connection data is determined to either substantially match or not substantially match the portion of the actual physical connection data based on the comparing. At least one predefined logical connection that is associated with predefined logical connection data that fails to substantially match the actual physical connection data to a user and/or ii) substantially matches the actual physical connection data is displayed to a user.

One advantage of the various embodiments of the present invention is that logical to physical connectivity within a networking environment can be verified. Connectivity information can be presented to a user from various perspectives such as from a channel, a control unit, a node, a link, and other perspectives. Connectivity information can be formatted into sortable tables so that a user can identify any misconfigurations, over utilization of resources, single points of failure, or other problems with the predefined logical-to-physical connections. Another advantage is that broken paths can be identified from the physical perspective as compared to the logical perspective of the individual operating systems.

DETAILED DESCRIPTION

The terms “a” or “an”, as used herein, are defined as one or more than one. The term plurality, as used herein, is defined as two or more than two. The term another, as used herein, is defined as at least a second or more. The terms including and/or having, as used herein, are defined as comprising (i.e., open language). The term coupled, as used herein, is defined as connected, although not necessarily directly, and not necessarily mechanically. The terms program, software application, and other similar terms as used herein, are defined as a sequence of instructions designed for execution on a computer system. A program, computer program, or software application may include a subroutine, a function, a procedure, an object method, an object implementation, an executable application, an applet, a servlet, a source code, an object code, a shared library/dynamic load library and/or other sequence of instructions designed for execution on a computer system.

Computing Environment

FIG. 1shows one example of a computing environment100, which embodiments of the present invention may be implemented. It should be noted that the present invention is applicable to both single system and distributed computing environments. In one embodiment, the computing environment100is a single SMP computing environment with a plurality of logical partitions in which an operating system image is instantiated. In an SMP computing environment, parallel applications can have several tasks (processes) that execute on the various processors on the same processing node.

In particular,FIG. 1shows one or more information processing systems102communicatively coupled to one or more devices103,104,105via a fabric106such as a switch. A physical channel adapter121communicatively coupled the information processing system102to the fabric106via one or more logical/physical connections123. The devices103,104,105also include a physical channel adapter111,113,115that communicatively couple the devices103,104,105to the fabric106.

It should be noted that although only a single information processing system102and a single fabric106is shown, multiple information processing systems and multiple fabrics can be included within the computing environment100ofFIG. 1. The information processing system102, in one embodiment, is in a mainframe such as the System Z™ from International Business Machine, a personal computer, or any other type of computing device. The devices103,104,105in one embodiment can be, a central processing complex (“CPC”), a storage device, or any other type of I/O device that logical partitions within the information processing system102are defined to communicate with.

The information processing system, in one embodiment, includes one or more CPCs125and a plurality of processing nodes108,110,112, which are referred fro hereon in as logical partition (“LPAR”)108,110,112. Each LPAR108,110,112is independent with its own operating system image114,116,118. Each LPAR108,110,112shares a plurality of processing units (not shown) in a manner referred to as micro-partitioning where processing units can be time sliced by a hypervisor (not shown) on the same processing unit (not shown). In other embodiments, the processors (not shown) do not have to be shared. Each of the LPARs108,110,112include a logical channel adapter115,117,119that is communicatively coupled to the local physical channel adapter123of the information processing system102.

In one embodiment, the information processing system102also includes a connectivity verification module120. The connectivity verification module120verifies predefined logical to physical connections associated with the information processing system102. The connectivity verification module120, in one embodiment, includes a configuration definition file parser122, a connection manager124, a node monitor126, and a plurality of tables128,130,132,134for storing connectivity related information. The connectivity verification module120, configuration definition file parser122, a connection manager124, a node monitor126, and a plurality of tables128,130,132,134are discussed in greater detail below.

Logical to Physical Connectivity Verification

As discussed above, current connectivity verification tools only provide a user with information associated with actual physical connections. In other words, these tools are generally only directed at the fabric106. These tools do not provide any connectivity information associated with the logical connections defined at the information processing system. Various embodiments of the present invention, on the other hand, provide both logical and physical connectivity data to a user. Furthermore, the various embodiments of the present invention analyze the logical and physical connectivity data to determine whether the accuracy of the predefined logical-to-physical paths. A user or administrator is then notified accordingly.

The connectivity verification module120, in one embodiment, gathers current logical definition data as defined for the information processing system102. For example, to define I/O on the information processing system102, a configuration definition file is created that includes configuration data associated with a host processor or logical partition for channel connections. The configuration definition file is generally made available to the LPARs108,110,112to inform them of the resources that each LPAR can connect to. The configuration definition file parser122, in one embodiment, extrapolates relevant information from the configuration definition file and correlates the data from the channel to the end communication device (such as the device104shown inFIG. 1). In one embodiment, the configuration definition file parser122places the gathered information into various tables128,130,132,134which are discussed in greater detail below.

For example, each path has a specific link that is defined out to a specific control unit. The configuration definition file parser122, in one embodiment, takes a particular channel, which is identified by a Channel Path Identifier (“CHPID”), and “walks” through a link to extrapolate the devices that an LPAR can communicate with over that link. As the configuration definition file parser122parses through a configuration definition file it sorts the pathing data within the file, in one embodiment, by types. The configuration definition file parser122then draws logical end-to-end connections and fills abstract data types within the tables128,130,132,134.

After the extrapolation process for the logical connectivity data has been completed, the connectivity verification module120determines if the information processing system102is in a valid state so that physical connectivity data can be gathered. For example, the connection manager124determines whether the channels that are to be verified are logged into their respective fabric. In other words, in order to obtain the physical connectivity data, the information processing system102needs to be in a state where physical connectivity information can be obtained (such as an Initial Machine Load (“IML”) complete stated) and all of the LPARs108,110,112need to be activated (e.g., on-line). Once a valid state is confirmed, the connectivity verification module120is able to obtain physical link status for all of the links. For example, the node monitor126gathers node ID information for the various types of I/O on the information processing system102. Physical connectivity information is generally obtained when the channels come on-line and request the node IDs associated with the nodes that are defined to communicate with. This information is then stored within a storage system associated with the information processing system102. The node monitor126, in one embodiment, then gathers this physical connectivity data from the storage system.

In one embodiment, neighbor node and remote node information is gathered by the node monitor126for the physical connectivity information. A neighbor node is a node that the fiber (e.g., fabric106) of the information processing system is “plugged” directly into. A remote node is any other node that is not “plugged” directly into the fiber and that the information processing system102is defined to communicate with. The node monitor126, in one embodiment, gathers current I/O state information associated with the nodes. For example, the node monitor126determines if a node is available or not available. The node monitor126also gathers unique identifier information associated with each node such as (but not limited to) serial number, model number, machine type, and sequence number. By gathering logical connectivity data and physical connectivity data, channel paths can be verified from end-to-end and connectivity can be ensured.

Once the node monitor126has gathered the relevant physical connectivity data, the connectivity verification module120validates the pathing information. For example, the connectivity verification module120links the actual physical connection data with the pre-defined logical connectivity data. This allows the connectivity verification module120to draw the actual end-to-end connections so that any connectivity misconfigurations can be detected and so that the accuracy of the pre-defined logical connections can be determined. Stated differently, the various embodiments of the present invention correlate the logical perspective with the physical perspective to give users the ability to see the accuracy of the pre-defined logical connections. Information such as cabling mistakes, definition errors, device readiness, resource utilization, single point of failures, and lack of connectivity can all be identified by a user based on the information provided from the connectivity verification module120.

FIGS. 2-5Bshow examples of the tables128,130,132,134discussed above and how these tables can be used to determine the accuracy of the pre-defined logical connections. The configuration definition file parser122builds the tables128,130,132,134based on various perspectives. For example, a table can be built from the perspective of a channel, a control unit, a node, a link, and other various perspectives. One advantage of the configuration definition file parser122is that the tables that are built place all of the relevant information in an easy to read format that is searchable so that a user can identify any misconfigurations or other problems with the predefined logical-to-physical connections.

FIG. 2shows an example of a table200that is populated by the configuration definition file parser122. For example, the configuration definition file parser122uses the information gathered from a configuration definition file to populate the table200. The table200includes a first column202labeled “PCHID”, which includes entries such as entry224that identify a particular physical channel via an identifier. A second column204labeled “Type” includes entries such as entry226that identify the type of channel associated with the corresponding channel under the “PCHID” column202. For example, a channel can be a fiber channel.

A third column206labeled “CHPID” includes entries such as entry228that identify the logical channel path within a channel subsystem associated with the corresponding channel under the “PCHID” column202. A fourth column208labeled “LPAR count” includes entries such as entry230that identify how many logical partitions have access to that channel. For example, the channel associated with PCHID120is accessible to three LPARs. The fifth column210to the eight column216respectively labeled “CSS-0”, “CSS-1”, “CSS-2”, “CSS-3” includes entries such as entries232,234,236,238that identify which logical channel subsystem a physical channel is associated with. A ninth column218includes entries such as entry240that associate a handle the switch associated with the corresponding channel under the “PCHID” column202. A tenth column220includes entries such as entry242that identify the number of control units defined to communicate with the corresponding channel under the “PCHID” column202. An eleventh column222includes entries such as entry244that identify the control unit name and the CSS that the corresponding channel under the “PCHID” column202is allowed to communicate with. For example, entry244shows that the channel with PCHID120is allowed to communicate with Control Unit3240in the Logical Channel Subsystem1. In another embodiment, the table200can include a bitmask or representation of the actual LPAR associated with a physical channel. The bitmask can be assigned to the channel and the control unit so that a user can identify which specific LPAR within a CSS has access to the channel.

FIG. 3is another example of a table300that is created from the control unit perspective and identifies the links. For example, the table300, in one embodiment, includes a first column302labeled “Control Unit Number”, which includes entries such as entry306that identify a particular control unit. A second column304labeled “Attached PCHIDs”, which includes entries such as entry308that identify a PCHID associated with the corresponding control unit under the first column302and which CSS the PCHID is using. For example, entry306identifies a control unit OFA0.09 associated with PCHID211that uses link70CD in all CSSs that PCHID211is defined for. As discussed above, the information included in the tables200,300shown inFIGS. 2-3are gathered by the configuration definition file parser122from the configuration definition file.

FIG. 4is another example of a table400created by the configuration definition file parser122. In particular, the table400ofFIG. 4includes a first column402labeled “Link” that includes entries such as entry408that identify a particular link. For example, entry408shows that a link in the fabric labeled70CD exists. The table400also includes a second column404labeled “Total Number of Times a PCHID is Defined to a Link” that includes entries such as entry410that identify the number of times a corresponding link is defined from the logical perspective. For example, entry410shows that one or more PCHIDS have been defined to the link70CD 40 times. The table400also includes a third column406labeled “PCHID (Defined Count)” that includes entries such as entry412that identify the PCHID using the corresponding link and how many times the PCHID logically uses that link. For example, entry412shows that PCHID211is logically defined over link70CD 30 times.

FIGS. 5A-5Bshow another table500that is created by the connectivity verification module120. In particular, the table500ofFIGS. 5A-5Bis created by the node monitor126by gathering physical connectivity data, as discussed above. The table500includes a first column502(FIG. 5A) labeled “PCHID” that includes entries such as entry532that identifies a particular PCHID. The table500includes a second column504(FIG. 5A) labeled “Link” that includes entries such as entry534that identifies link associated with the corresponding PCHID under the first column502. For example, entry534shows a link6989, which comprises the switch domain ID69and the actual link89. The table500includes a third column506(FIG. 5A) labeled “Validity” that includes entries such as entry536that identifies whether the particular physical channel under the first column502is “valid” or “not valid”. The fourth column508(FIG. 5A) through the fifteenth column530provides various types of information about a node. For example, information such as node type, protocol, class, logical interface, type number, model number, manufacturer, plant, sequence number, tag, control unit name, and LCU number, can all reside within the table500. It should be noted that one or more types of information can be added or deleted to the table500. All of the data that is retrieved when gathering the physical connectivity data is generally in a computer readable format. The connectivity verification module120converts this HEX data into a user-readable format.

The table shows data associated with neighbor nodes and remote nodes. With respect to a neighbor node, the third row538of the table500can be taken as one example. The third row538shows that PCHID131is going into switch domain61link06, and the current link state is valid. The table500shows that PCHID131is plugged into a device that supports the FC-SB-2 architecture and the device is a switch. In other words, the logical port06is in that particular switch. The table500gives the user the type and number model number of the switch; the manufacturer of the switch; the plant that the switch was made in was made in; the sequence number or serial number associated with the switch; and the TAG field, which is the physical interface that the particular PCHID is plugged into on the switch.

With respect to a remote node, the fourth row540can be used as one example. The fourth row540shows that a channel with a PCHID identifier of “503” is associated with a link69A9, which is the outbound link that the channel “503” is communicating with that domain ID. The fourth row540also includes the node type, protocol, class, logical interface, type number, model number, manufacturer, plant, sequence number, and tag information discussed above. The fourth row540also includes control unit and LCU info, of the remote node. It should be noted that these two fields are obtained from the configuration data file and are not sent from the remote node ID.

The PCHID information in the table500ofFIGS. 5A-5Bis used to map the physical connectivity information of the table500to the logical connectivity information in the corresponding logical connectivity tables. For example, returning toFIG. 2, the last row ofFIG. 2246shows that PCHID “503” is associated with the control unit “F700”. Returning toFIG. 3, the last row310also shows control unit “F700.1F” being associated with PCHID “503” and that PCHID “503” uses link69B9and69A9. In other words, PCHID “503” uses two different links out to the fabric106(such as a switch) to get to the same control unit. Retuning toFIGS. 5A-5B, the table500at the fourth row540shows that PCHID “503” uses link69A9and is associated with control unit F700. As can be seen, the various tables presented above provide logical and physical connectivity information from different perspectives.

Furthermore, the table300ofFIG. 3shows the entry312comprising “503. (69B9/69A9)” as being shaded with diagonal lines. This indicates to a user that the link69B9/69A9out to the control unit F700for PCHID503is valid. On the other hand, entry314comprising “421. (6B62/6B62)” is shaded with vertical lines. This indicates to a user that link6B62/6B62out to the control unit F700is not valid for PCHID421. The table500ofFIGS. 5A-5Bconfirms this “not valid” state at the twenty-fourth row542. It should be noted that only shading was shown for entries312and314for simplicity. All of the other entries also indicate to a user via graphical/visual indicator or whether a link is valid or not valid. It should also be noted that the present invention is not limited to using shading as a way of notifying a user of link status and other pertinent information. For example, graphics, animation, audio, color, or any other notification means can be used.

In addition to broken links, the tables discussed above also reveal misconfigurations. A control unit, in one embodiment, can only be one physical entity in a network environment such as a Storage Area Network (“SAN”). If sequence numbers for the control unit do not match, a misconfiguration has occurred. Therefore, the connectivity verification module120identifies any mismatched sequence numbers for a control unit and notifies the user. Taking the control unit DF80as an example, the table500ofFIGS. 5A-5Bat the twenty-fifth row544to the thirty-second row546inFIG. 5Bshows that a misconfiguration has occurred with respect to control unit DF80. As can be seen, entries548to562inFIG. 5Bunder the column labeled “CU Name” (Control Unit Name)528are shaded with a horizontal pattern. This indicates to a user that a misconfiguration has occurred. For example, the first five sequence numbers match, but the next two sequence numbers do not match with the others. This is important for a user to know because data is possibly being read or written to a location where it is not supposed to be. One advantage of the various embodiments of the present invention is that the broken path and can be identified from the physical perspective as compared to the perspective of the individual operating systems.

As can be seen from the above discussion, the various embodiments of the present invention provide an overall view of the connectivity in an operating environment from both the logical and physical connectivity perspectives. The various embodiments gather both the logical connectivity data and the physical connectivity data and place this data into a user-readable format. Critical information such as valid links, links that are not valid, misconfigurations, and other information is displayed to a user in a single location. Various visual indicators can be used to help a user identify any problems with the connectivity definitions. Alternatively, an automated process can display reports, graphics, text, audio, or any combination thereof to a user so that the user does not need to search through the tables.

Operational Flow for Verifying Predefined Logical to Physical Connections

FIG. 6is an operational flow diagram illustrating one example of verifying predefined logical to physical connections in a networking environment. The operational flow diagram ofFIG. 6begins at step602and flows directly to step604. The connectivity verification module120, at step604gathers current logical definition data. For example, the connectivity verification module120retrieves the configuration definition file for the system102. The connectivity verification module120, at step606, extrapolates definition data from the configuration definition file. During the extrapolation process, the connectivity verification module120sorts pathing data by types and determines the logical end-to-end connections associated with the system102, as discussed above. The connectivity verification module120also fills abstract data types with the logical end-to-end connection information.

Once the logical end-to-end information has been obtained, the connectivity verification module120, at step608, determines the state of the information processing system102. The connectivity verification module120, at step610, determines if the state is valid. For example, the connectivity verification module120, determines if the information processing system102is in a state where physical connectivity information can be obtained (such as an Initial Machine Load (“IML”)). If the result of this information is negative, the control flow then exits at step612.

If the result of this determination is positive, the connectivity verification module120, at step614, gathers current IO state and unique identifiers as discussed above with respect to table500ofFIGS. 5A-5B. The connectivity verification module120, at step616, validates the pathing information. For example, the connectivity verification module120links the actual configuration to the defined configuration. The connectivity verification module120then draws actual end-to-end connections and overlays the logical end-to-end connections with the actual end-to-end connections. This allows the connectivity verification module120to identify any broken links and/or misconfigurations as discussed above. The connectivity verification module120, at step618, generates user reports with useful logical perspectives. For example, the connectivity verification module120can generate reports that show the status of links, misconfigurations, and other information relating the logical to physical connectivity of the networking environment.

Example of an Information Processing System

FIG. 7is a block diagram illustrating a detailed view of an information processing system700such as the information processing system102ofFIG. 1. The information processing system700is based upon a suitably configured processing system adapted to implement one embodiment of the present invention, according to the present example. Any suitably configured processing system is similarly able to be used as the information processing system700by various embodiments of the present invention such as a personal computer, a workstation, or the like.

The information processing system700includes a computer702. The computer702has a processor704that is connected to a main memory706, mass storage interface708, terminal interface710, and network adapter hardware712. A system bus714interconnects these system components. The mass storage interface708is used to connect mass storage devices, such as data storage device716, to the information processing system700. One specific type of data storage device is a data drive capable of writing to/reading from a computer readable medium such as (but not limited to) a floppy disk, flash memory, or CD/DVD718. Another type of data storage device is a data storage device configured to support, for example, NTFS type file system operations, ECKD DASD, or any other type of file system operations.

The main memory706, in one embodiment, includes the LPARS108,110,112and the connectivity verification module120as discussed above. Although illustrated as concurrently resident in the main memory706, it is clear that respective components of the main memory706are not required to be completely resident in the main memory706at all times or even at the same time. In one embodiment, the information processing system700utilizes conventional virtual addressing mechanisms to allow programs to behave as if they have access to a large, single storage entity, referred to herein as a computer system memory, instead of access to multiple, smaller storage entities such as the main memory706and data storage device716. Note that the term “computer system memory” is used herein to generically refer to the entire virtual memory of the information processing system700.

Although only one CPU704is illustrated for computer702, computer systems with multiple CPUs can be used equally effectively. Various embodiments of the present invention further incorporate interfaces that each includes separate, fully programmed microprocessors that are used to off-load processing from the CPU704. Terminal interface710is used to directly connect one or more terminals720to computer702to provide a user interface to the computer702. These terminals720, which are able to be non-intelligent or fully programmable workstations, are used to allow system administrators and users to communicate with the information processing system700. The terminal720is also able to consist of user interface and peripheral devices that are connected to computer702and controlled by terminal interface hardware included in the terminal interface710that includes video adapters and interfaces for keyboards, pointing devices, and other devices/interfaces.

An operating system (not shown) included in the main memory is a suitable multitasking operating system such as the z/OS, AIX, Linux, UNIX, Windows XP, and Windows Server 2001 operating systems. Various embodiments of the present invention are able to use any other suitable operating system. Some embodiments of the present invention utilize architectures, such as an object oriented framework mechanism, that allow instructions of the components of operating system (not shown) to be executed on any processor located within the information processing system700. The network adapter hardware712such as the physical channel adapter121discussed above is used to provide an interface to the fabric106. Various embodiments of the present invention can be adapted to work with any data communications connections including present day analog and/or digital techniques or via a future networking mechanism.

Although the embodiments of the present invention are described in the context of a fully functional computer system, those skilled in the art will appreciate that various embodiments are capable of being distributed as a program product via CD or DVD, e.g. CD718, CD ROM, or other form of recordable media, or via any type of electronic transmission mechanism.

In general, the routines executed to implement the embodiments of the present invention, whether implemented as part of an operating system or a specific application, component, program, module, object or sequence of instructions may be referred to herein as a “program.” The computer program typically is comprised of a multitude of instructions that will be translated by the native computer into a machine-readable format and hence executable instructions. Also, programs are comprised of variables and data structures that either reside locally to the program or are found in memory or on storage devices. In addition, various programs described herein may be identified based upon the application for which they are implemented in a specific embodiment of the invention. However, it should be appreciated that any particular program nomenclature that follows is used merely for convenience, and thus the invention should not be limited to use solely in any specific application identified and/or implied by such nomenclature.