Patent Abstract:
Provided are a method, system, and article of manufacture, wherein in certain embodiments a first device determines a possibility of an invalidation of a second device, wherein the first device is coupled to the second device via a fabric. A query is sent from the first device to validate the second device, in response to determining the possibility of the invalidation of the second device. A determination is made, at the first device, whether to continue I/O operations from the first device to the second device based on receiving a response to the query within a time period.

Full Description:
BACKGROUND  
       [0001]     1. Field  
         [0002]     The present invention relates to a method, system, and an article of manufacture for validating a remote device.  
         [0003]     2. Description of the Related Art  
         [0004]     Fibre channel networks may be used in storage area networking (SAN) environments to attach servers and storage. In certain implementations, fibre channel networks may also be used to allow for peer-to-peer connections between storage devices. Fiber channel networks may be classified into a variety of topologies. In a point-to-point topology, each pair of network components are connected via dedicated links. In an arbitrated loop topology, groups of network components are connected via a loop. In a switched fabric topology, network components are connected via switches. Errors may occur in a switched fabric network for various reasons. For example, cables may be unplugged temporarily in the switched fabric, or cables may be accidentally swapped resulting in misdirected data in the network.  
         [0005]     Certain networked information technology systems, including storage systems, may need protection from site disasters or outages. Implementations for protecting from site disasters or outages may include mirroring or copying of data in storage systems. Such mirroring or copying of data may involve interactions among hosts, storage systems and connecting networking components of the information technology system.  
         [0006]     An enterprise storage server* (ESS) may be a disk storage server that includes one or more processors coupled to storage devices, including high capacity scalable storage devices, Redundant Array of Independent Disks (RAID), etc. The enterprise storage servers may be connected to a network, such as a fibre channel network, and include features for copying data in storage systems. Peer-to-Peer Remote Copy (PPRC)  Enterprise Storage Server (ESS) is a trademark of International Business Machines Corp. is an ESS copy function that allows the shadowing of application system data from a first site to a second site. The first site may be referred to as an application site, a local site, or a primary site. The second site may be referred to as a recovery site, a remote site, or a secondary site. In certain implementations, the first and second site may be coupled via fibre channel networks that includes switches.    
       SUMMARY OF THE PREFERRED EMBODIMENTS  
       [0007]     Provided are a method, system, and article of manufacture, wherein in certain embodiments a first device determines a possibility of an invalidation of a second device, wherein the first device is coupled to the second device via a fabric. A query is sent from the first device to validate the second device, in response to determining the possibility of the invalidation of the second device. A determination is made, at the first device, whether to continue I/O operations from the first device to the second device based on receiving a response to the query within a time period.  
         [0008]     In additional embodiments, determining, by the first device, the possibility of the invalidation of the second device, further comprises determining whether the first device has received either a notification of a state change from the fabric or has timed out while waiting for a completion of an I/O operation sent from the first device to the second device.  
         [0009]     In yet additional embodiments, sending the query further comprises sending a service frame from the first device to the second device, wherein the service frame is capable of determining a presence of the second device without disrupting the I/O operations. In further embodiments, the service frame is a PDISC Extended Link Service frame.  
         [0010]     In further embodiments, the I/O operations are continued, if the response to the query within the time period is a frame that validates the World Wide Node Name and the World Wide Port name associated with a connection to the second device. In further embodiments, the frame is an LS_ACC frame.  
         [0011]     In yet further embodiments, a connection is terminated from the first device to the second device, if the response to the query is not received within the time period or if the response is a frame that indicates that the second device does not consider the first device to be logged in to the second device. In further embodiments, the frame is a LOGO frame or a LS_RJT frame.  
         [0012]     In additional embodiments, the query is received at the second device, prior to determining, at the first device, whether to continue I/O operations from the first device to the second device. A determination is made, at the second device, whether the first device is a valid initiator to the second device. The response is sent from the second device, wherein the response indicates that the second device does not consider the first device to be logged in to the second device, in response to determining that the first device is not the valid initiator to the second device.  
         [0013]     In yet additional embodiments, the query is received at the second device, prior to determining, at the first device, whether to continue I/O operations from the first device to the second device. A determination is made at the second device, whether the first device is considered to be logged in to the second device. The response is sent from the second device, wherein the response indicates that the second device considers the first device to be logged in to the second device, in response to determining that the first device is considered to be logged in to the second device.  
         [0014]     In still further embodiments, the query is received at the second device, prior to determining, at the first device, whether to continue I/O operations from the first device to the second device. A determination is made, at the second device, whether the first device is considered to be logged in to the second device. The response is sent from the second device, wherein the response indicates that the second device does not consider the first device to be logged in to the second device, in response to determining that the first device is not considered to be logged in to the second device.  
         [0015]     In additional embodiments, the first and second devices are fibre channel adapters coupled to primary and secondary storage controllers respectively, wherein the fabric is a switched fabric, and wherein the fibre channel adapters communicate using extended link services commands.  
         [0016]     In certain embodiments implemented in a fibre channel PPRC environment, a PPRC primary device, such as, a primary storage control unit, may determine, via positive identification of a secondary storage control unit, whether a login is actually required to the secondary storage control unit because of a state change in a fibre channel network. As a result of the positive identification of the secondary storage control unit repeated disruptive logins to the secondary storage control unit may not be required in the embodiments. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0017]     Referring now to the drawings in which like reference numbers represent corresponding parts throughout:  
         [0018]      FIG. 1  illustrates a block diagram of a computing environment, in accordance with certain described aspects of the invention;  
         [0019]      FIG. 2  illustrates a block diagram of data structures implemented in a storage control unit and a fibre channel adapter, in accordance with certain described implementations of the invention;  
         [0020]      FIG. 3  illustrates a block diagram of communications between two fibre channel adapters, in accordance with certain described implementations of the invention;  
         [0021]      FIG. 4  illustrates logic implemented in a primary fibre channel adapter, in accordance with certain described implementations of the invention;  
         [0022]      FIG. 5  illustrates logic implemented in a secondary fibre channel adapter, in accordance with certain described implementations of the invention; and  
         [0023]      FIG. 6  illustrates a block diagram of a computer architecture in which certain described aspects of the invention are implemented.  
     
    
     DETAILED DESCRIPTION  
       [0024]     In the following description, reference is made to the accompanying drawings which form a part hereof and which illustrate several implementations. It is understood that other implementations may be utilized and structural and operational changes may be made without departing from the scope of the present implementations.  
       Disruptive Logins in Remote Date Transfer  
       [0025]     If a connection for remote data transfer over a fibre channel storage area network (SAN) exists, the primary storage controller may determine via an external notification or through an internal error detection, that a state change has occurred in the SAN or in the secondary storage controller. The primary storage controller may have to validate the identity of the secondary storage controller. To validate the identity of the secondary storage controller, the primary storage controller may try to log into the secondary storage controller once again. However, the login operation to the secondary storage controller may be disruptive to the secondary storage controller. Logging in too often, i.e., whenever a state change may have occurred, may have a negative impact on ongoing input/output (I/O) operations if the state change does not actually require the login. Waiting too long before trying to login in can cause a permanent I/O failure if the login should have been performed.  
         [0026]     Certain embodiments of the invention allow a primary storage controller to determine through validation of the secondary storage controller, if a login is actually required to the secondary storage controller. Certain embodiments of the invention are non-disruptive to any I/O in progress, in case a login is not required.  
       Validating a Remote Device  
       [0027]      FIG. 1  illustrates a block diagram of a computing environment  100 , in accordance with certain described aspects of the invention. A host  101  is coupled to a storage unit, such as, a primary storage control unit  102 , where the host  102  may sent input/output (I/O) requests to the primary storage control unit  102 . The primary storage control unit  102  may send the I/O requests to one or more other storage units, such as, secondary storage control units  104 ,  106 . The storage control units  104 ,  106  may also be referred to as storage controllers. Although only two secondary storage control units  104 ,  106  are shown, certain embodiments may include a greater or a fewer number of secondary storage control units. Furthermore, while only a single host  101  is shown coupled to the primary storage control unit  102 , in other embodiments a plurality of hosts may be coupled to the primary storage control unit  102 . The host  101  may be any computational device known in the art, such as a personal computer, a workstation, a server, a mainframe, a hand held computer, a palm top computer, a telephony device, network appliance, etc.  
         [0028]     In certain embodiments, the primary storage control unit  102  and the secondary storage control units  104 ,  106  are coupled by a fibre channel data interface mechanism. In other embodiments, different data interface mechanisms may be used to couple the primary storage control unit  102  to the secondary storage control units  104 ,  106 .  
         [0029]     The storage control units  102 ,  104 ,  106  may each include one or more storage subsystems (not shown). In certain embodiments, the storage subsystems may be computational devices that include storage volumes (not shown) configured as a Direct Access Storage Device (DASD), one or more RAID ranks, Just a bunch of disks (JBOD), or any other data repository system known in the art.  
         [0030]     In certain embodiments, the storage control units  102 ,  104 ,  106  are coupled to one or more fibre channel adapters. For example, the primary storage control unit  102  may be coupled to fibre channel adapters  108   a  . . .  108   q,  the secondary storage control unit  104  may be coupled to fibre channel adapters  110   a  . . .  110   r,  and the secondary storage control unit  106  may be coupled to fibre channel adapters  112   a  . . .  112   s.    
         [0031]     In some embodiments, a fabric, such as, a switched fabric, may couple a first fibre channel adapter coupled to the primary storage control unit  102 , to a second fibre channel adapter coupled to a secondary storage control unit  104 ,  106 . For example, a switched fabric  114  couples the fibre channel adapter  108   a  that is coupled to the primary storage control unit  102 , to the fibre channel adapter  110   a  that is coupled to the secondary storage control unit  104 . Additionally, a switched fabric  116  may couple the fibre channel adapter  108   q  that is coupled to the primary storage control unit  102 , to the fibre channel adapter  112   b  that is coupled to the secondary storage control unit  106 . Therefore, in certain embodiments the primary storage control unit  102  may communicate with the secondary storage control units  104 ,  106  via fibre channel adapters  108   a  . . .  108   q,    110   a  . . .  110   r,    112   a  . . .  112   s  and the switched fabrics  1114 ,  116 .  
         [0032]     In certain embodiments, the switched fabrics  114 ,  116  may include one or more switches. For example, switched fabric  114  includes switches  118  and  120 , where the switches  118  and  120  are interconnected via a cable  122 . Switched fabric  116  may include switches  124  and  126 , where the switches  124  and  126  are interconnected via a cable  128 .  
         [0033]     State changes may occur in the computing environment  100  for a variety of reasons. For example, in certain embodiments the primary storage control unit  102  sends an I/O command to the secondary storage control unit  104  via the fibre channel adapter  108   a,  the switch  118 , the cable  122 , the switch  120 , and the fibre channel adapter  110   a.  In certain situations, the cable  122  may be accidentally disconnected from switch  120  and may be connected to switch  128  and a state change may occur in the computing environment  100 . In such a situation I/O commands sent by the primary storage control unit  102 , where the I/O commands are intended for the secondary storage control  104 , may be misdirected to the secondary storage control  106 . If the secondary storage control  106  executes the misdirected I/O commands then data in the secondary storage control  106  may not be consistent with data in the primary storage control unit  102 . Therefore, it may be sometimes be desirable to terminate certain connections in the computing environment  100  when certain state changes is detected. State changes may also occur for various other reasons in the computing environment  100 , such as, swapping or disconnection of other cables, changes in configuration of switches, etc. In certain embodiments, the switched fabric  114  may notify the fibre channel adapter  108   a  of the state change. In other embodiments, the swapping of the cables  122 ,  128  may cause a timeout of an I/O operation occurring between the primary storage control unit  102  and the secondary storage control unit  104 .  
         [0034]     If the fibre channel adapter  108   a  detects either by an external notification or via internal error detection that a state change has occurred in the computing environment  100 , either in the switched fabric  114  or in the fibre channel adapter coupled to the secondary storage control unit  104 , then in embodiments of the invention the fibre channel adapter  108   a  may have to positively validate the identity of the secondary storage control unit  104  to which the fibre channel adapter  108   a  is coupled.  
         [0035]     While the fibre channel adapter  108   a  may attempt to perform a login to the secondary storage control unit  104  to positively identify the secondary storage control unit  104 , repeated logins to the secondary storage control unit  104  may be disruptive to ongoing I/O operations of the primary storage control unit  102  to the secondary storage control unit  104 . However, if the fibre channel adapter  108   a  waited too long to perform a login to the secondary storage control unit  104 , then failure may occur for an ongoing I/O operation between the primary storage control unit  102  and the secondary storage control unit  104 .  
         [0036]     In certain embodiments of the invention, the fibre channel adapter  108   a  may send a PDISC Extended link service frame that is directed at the fibre channel adapter  110   a  to determine the presence of the secondary.  
         [0037]     Therefore,  FIG. 1 , illustrates a computing environment  100  in which a fibre channel adapter  108   a  coupled to a primary storage control unit  102  sends a PDISC Extended Link Service frame to determine the presence of the secondary storage control unit  104 . The PDISC Extended Link Service frame is non-disruptive to I/O operations occurring between the primary storage control unit  102  and the secondary storage control unit  104 .  
         [0038]      FIG. 2  illustrates a block diagram of data structures implemented in the storage control units  102 ,  104 ,  106  and the fibre channel adapters  108   a  . . .  108   q,    110   a  . . .  110   r,    112   a  . . .  112   s  in accordance with certain described implementations of the invention.  
         [0039]     A storage control unit  200 , where the storage control unit  200  may be any of the storage control units  102 ,  104 ,  106 , may include a data structure that corresponds to a World Wide Node Name (WWNN)  202 , where the WWNN  202  is an identification of the storage control unit  200 .  
         [0040]     A fibre channel adapter  204 , where the fibre channel adapter  204  may be any of the fibre channel adapters  108   a  . . .  108   q,    110   a  . . .  110   r,    112   a  . . .  112   s  may include a port  206 . The fibre channel adapter  204  may communicate with another fibre channel adapter via a fibre channel link established between port  206  and a corresponding port in the another fibre channel adapter. Although, the fibre channel adapter  204  is shown with only one port  206 , in alternative embodiments the fibre channel adapter may have a plurality of ports.  
         [0041]     The fibre channel adapter  204  includes a World Wide Port Name (WWPN)  208  that is an identification of the port  206  the fibre channel adapter  204 . The fibre channel adapter  204  may also include a WWNN  210  that corresponds to the WWNN  202  of the storage control unit to which the fibre channel adapter is coupled. For example, fibre channel adapter  108   a  may include the WWNN of the primary storage control unit  102 , and fibre channel adapter  110   a  may include the WWNN of the secondary storage control unit  104 .  
         [0042]     The fibre channel adapter  204  may also include capabilities to generate a PDISC Extended Link Service frame  212 , a LS_ACC frame  214 , a LOGO frame and a LS_RJT frame  218 . The generated frames  212 ,  214 ,  216 ,  218  may be sent from one fibre channel port to another fibre channel port.  
         [0043]     The PDISC Extended Link Service frame  212 , also referred to as a PDISC frame provides a method for two fibre channel ports to exchange operating parameters without disrupting I/O operations on either of the two fibre channel ports. In certain embodiments, a first fibre channel port may send a PDISC frame  212  to a second fibre channel port. In response to receiving the PDISC frame  212  at the second fibre channel port, the second fibre channel port may respond with a LS_ACC frame  214  to indicate that the second fibre channel port considers the first fibre channel port to be logged in to the second fibre channel port. In response to receiving the PDISC frame  212  at the second fibre channel port, the second fibre channel port may respond with a LOGO frame  216  or a LS_RJT frame  218  to indicate that the second fibre channel port does not consider the first fibre channel port to be logged in to the second fibre channel port.  
         [0044]     In certain embodiments, in response to the primary storage control unit  102  executing instructions to send I/O commands to the secondary storage control unit  104 , the primary storage control unit  102  may request the switch  118  (via the fibre channel adapter  108   a ) to return a destination ID (not shown) of the secondary storage control unit  104  by supplying the WWPN  208  of the fibre channel port corresponding to the fibre channel adapter  110   a,  to the switch  118 . In certain embodiments, the switch  118  may, in conjunction with nameservers implemented in the switched fabric  114 , return the destination ID of the secondary storage control unit  104 . The primary storage control unit  102  may login to the secondary storage control unit  104  by using the destination ID. After logging in, the primary storage control unit  102  may send I/O commands to the secondary storage control unit  104 .  
         [0045]     The destination ID of a secondary storage control unit may not always be unique. For example, in certain embodiments the secondary storage control unit  104  may be referred to with the destination address of one in the switched fabric  114 , and the secondary storage control unit  106  may also be referred to with the destination address of one in the switched fabric  116 . In such a situation, if the cable  122  is disconnected from switch  122  and connected to switch  126 , after the primary storage control unit  102  has started sending I/O commands to the secondary storage control unit  104  by using the destination ID of one, then the primary storage control unit  102  would be misdirecting the I/O commands to the secondary storage control unit  106  via the switched fabric  116  because the destination ID of one appears to the switched fabric  116  as the secondary storage control unit  106 . If the secondary storage control unit  106  executes the received I/O commands, then data in the secondary storage control unit  106  may not be consistent with the primary storage control unit  104 . In certain embodiments of the invention, a PDISC frame  212  sent from the fibre channel adapter  108   a  may perform a non-disruptive validation of the secondary storage control unit, such that, the primary storage control unit  102  can attempt to login in once again to the correct secondary storage control unit in case of a change in the state of the switched fabric  114 .  
         [0046]     Therefore,  FIG. 2  illustrates embodiments in which a PDISC frame  212  is used to validate the identity of the secondary storage control unit  104 .  
         [0047]      FIG. 3  illustrates a block diagram of communications between two fibre channel adapters  108   a,    110   a,  in accordance with certain implementations of the invention.  
         [0048]     The first fibre channel adapter  108   a  that is coupled to the first storage control unit  102 , may include a first port  300  that communicates with the switched fabric  114 . The second fibre channel adapter  110   a  that is coupled to the second storage control unit  104  may include a second port  302  that also communicates with the switched fabric  114 .  
         [0049]     In addition to the first port  300 , the first fibre channel adapter includes a WWPN  304  corresponding to the first port  300  and a WWNN  306  corresponding to the first storage control unit  102 . Also, in addition to the second port  302 , the second fibre channel adapter  110   a  includes a WWPN  308  corresponding to the second port  302  and a WWNN  310  corresponding to the second storage control unit  104 .  
         [0050]     In certain embodiments, a first application  312  coupled to the first port  300  sends a PDISC frame  212  to the second port  302  to validate the identity of the second storage control unit  104 . In response to receiving the PDISC frame  212  across the switched fabric  114 , a second application  314  coupled to the second port  302  may determine and send a response  316  to the first port  300 .  
         [0051]     Therefore,  FIG. 3  describes an embodiment in which the first port  300  sends a PDISC frame  212  to the second port  302  and receives a response  316 . In certain embodiments, the first port  300  may not receive a response in a certain amount of time and may assume that no response is likely to be received from the second port  302 .  
         [0052]      FIG. 4  illustrates logic implemented in the first fibre channel adapter  108   a,  where the first fibre channel adapter  108   a  may be a primary fibre channel adapter coupled to the primary storage control unit  102 , in accordance with certain implementations of the invention. In certain embodiments, the logic may be executed by the first application  312  implemented in the first fibre channel adapter  108   a.    
         [0053]     Control starts at block  400  where the first fibre channel adapter  108   a  sends an I/O operation to the second fibre channel adapter  110   a.  The first fibre channel adapter  108   a  determines (at block  402 ) whether the first fibre channel adapter  108   a  has received a a notification of a state change from the switched fabric  114  or has encountered a timeout while waiting for an I/O operation to complete. If no notification of a state change has been received and no timeout has been encountered, the first fibre channel adapter  108   a  sends (at block  400 ) another I/O operation to the second fibre channel adapter  110   a.    
         [0054]     If the first fibre channel adapter  108   a  determines (at block  402 ) that the first fibre channel adapter  108   a  has received a notification of a state change from the switched fabric  114  or has encountered a timeout while waiting for an I/O operation to complete, then the first fibre channel adapter  108  sends (at block  404 ) a PDISC frame  212  directed at the second fibre channel adapter  110   a  to determine the presence of the second fibre channel adapter  110   a.  Therefore, in the implementations the PDISC frame  212  is sent in response to a notification of a state change of the switched fabric  114  or a timeout while waiting for an I/O command to complete.  
         [0055]     The first fibre channel adapter  108   a  determines (at block  406 ) if the response  316  has been received in response to the sent PDISC frame  212  within a certain amount of time. The response  316  that may be received by the first fibre channel adapter  108   a  may be generated by the second fibre channel adapter  110   a  on receiving the PDISC frame  212 . The PDISC frame  212  does not disrupt I/O operations that occur between the first and second fibre channel adapters  108   a,    110   a.    
         [0056]     If the first fibre channel adapter  108   a  determines (at block  406 ) that a response  316  has not been received in response to the sent PDISC frame  212  within a certain amount of time, then the first fibre channel adapter  108   a  terminates (at block  408 ) the logged-in status of the first storage control unit  102  to the second storage control unit  104 , aborts all open tasks, and attempts to reestablish a path between the first storage control unit  102  and the second storage control unit  104 .  
         [0057]     If the first fibre channel adapter  108   a  determines (at block  406 ) that the response  316  has been received in response to the sent PDISC frame  212  within a certain amount of time, then the first fibre channel adapter  108   a  determines (at block  410 ) the type of response  316  received at the first fibre channel adapter  108   a.    
         [0058]     If the determined response  316  (at block  410 ) is an LS_ACC frame  214  then the first fibre channel adapter  108   a  determines (at block  412 ) if the WWPN and the WWNN included in the LS_ACC frame  214  validates the identity of the second storage control unit  104 . The LS_ACC frame  214  validates the identity of the second storage control unit  104  if the WWPN and the WWNN included in the LS_ACC frame is the same as the WWPN  308  and the WWNN  310  respectively, that are included in the second fibre channel adapter  110   a.    
         [0059]     If the first fibre channel adapter  108   a  determines (at block  412 ) that the identity of the second storage control unit  104  is validated, then the first fibre channel adapter  108   a  continues (at block  414 ) operations without interruptions. If the first fibre channel adapter  108   a  determines (at block  412 ) that the identity of the second storage control unit  104  is not validated, then the first fibre channel adapter  108   a  terminates (at block  408 ) the logged-in status of the first storage control unit  102  to the second storage control unit  104 , aborts all open tasks, and attempts to reestablish a path between the first storage control unit  102  and the second storage control unit  104 .  
         [0060]     If the determined response  316  (at block  410 ) is a LOGO frame  216  or an LS_RJT frame  218  or some other response  416  then the first fibre channel adapter  108   a  terminates (at block  408 ) the logged-in status of the first storage control unit  102  to the second storage control unit  104 , aborts all open tasks, and attempts to reestablish a path between the first storage control unit  102  and the second storage control unit  104 .  
         [0061]     Therefore,  FIG. 4  illustrates certain embodiments in which the first fibre channel adapter  108   a  sends a non-disruptive PDISC frame  212  to a second fibre channel adapter  110   a  to validate the second fibre channel adapter  110   a.  In certain embodiments, the first fibre channel adapter  108   a  may be a primary fibre channel adapter and the second fibre channel adapter  110   a  may be a secondary fibre channel adapter and the logic may be implemented in the first application  312  that may be coupled to the first fibre channel adapter  108   a.    
         [0062]      FIG. 5  illustrates logic that may be implemented in the second fibre channel adapter  110   a,  where the second fibre channel adapter  110   a  may be a secondary fibre channel adapter coupled to the secondary storage control unit  104 , in accordance with certain implementations of the invention. In certain embodiments, the logic may be executed by the second application  314  implemented in the second fibre channel adapter  110   a.    
         [0063]     Control starts at block  500 , where the second fibre channel adapter  110   a  receives the PDISC frame  212  sent (at block  404 ) by the first fibre channel adapter  108   a.  The second fibre channel adapter  110   a  determines (at block  502 ) if an initiator with the same port address but different WWPN or WWNN when compared to the sender of the PDISC frame  212  is in a logged in state to the second fibre channel adapter  110   a  (in certain embodiments the initiator may be a different fibre channel adapter than the first fibre channel adapter  108   a  that sent the PDISC frame  212 ). If so, the second fibre channel adapter  110   a  aborts (at block  504 ) all open tasks for that initiator, internally logs out the sender of the PDISC, and responds to the PDISC with a LOGO frame  216 . Therefore, the embodiments identify potential errors in the computing environment  100  involving different WWPN or WWNN corresponding to the same port address.  
         [0064]     If the second fibre channel adapter  110   a  determines (at block  502 ) that an initiator with the same port address but different WWPN or WWNN when compared to the sender of the PDISC frame  212  is not in a logged in state to the second fibre channel adapter  110   a,  then the second fibre channel adapter  110   a  determines (at block  506 ) if the sender of the PDISC frame is considered to be logged in by the second fibre channel adapter  110   a.  If so, then the second fibre channel adapter  110   a  accepts the PDISC frame  212  and sends an LS_ACC frame  214 , indicating that the second fibre channel adapter  110   a  considers the sender to be logged in, where the LS_ACC frame  214  includes the second fibre channel adapter&#39;s  110   a  WWNN  310  and WWPN  308 . If not, then the second fibre channel adapter  110   a  sends a LS_RJT frame  218  or a LOGO frame  216  or some other response  416 , including an indication that the second fibre channel adapter does not consider the sender to be logged in. The responses sent (at blocks  508 ,  510 ) by the second fibre channel adapter  110   a  may be processed (at blocks  406 ,  410 ,  412 ) by the first fibre channel adapter  108   a.    
         [0065]     Therefore,  FIG. 5  describes an embodiment in which the second fibre channel adapter  110   a  responds to a PDISC frame  212  sent by the first fibre channel adapter  108 . In certain embodiments, the first fibre channel adapter  108   a  may be a primary fibre channel adapter and the second fibre channel adapter  110   a  may be a secondary fibre channel adapter and the logic may be implemented in the second application  314  that may be coupled to the second fibre channel adapter  110   a.    
         [0066]     The embodiments have been described with one port per fibre channel adapter. In alternative implementations, a single fibre channel adapter with one or more ports may perform data transfer from one plurality of storage control units to another plurality of storage control units. While frames have been used in the embodiments, alternative embodiments may use other data transmission units besides frames. Furthermore, the embodiments may also be implemented in networks that are not based on fibre channel. Additionally, in alternative implementations the first and second applications  312 ,  314  may be implemented in the storage control units  102 ,  104  and control the operations of the fibre channel adapters  108   a,    110   a.    
         [0067]     In certain additional embodiments implemented in a fibre channel PPRC environment, a PPRC primary device, such as the primary storage control unit  102 , may determine, via positive identification of a secondary storage control unit  104 , whether a login is actually required to the secondary storage control unit  104  because of a state change in a fibre channel network. As a result of the positive identification of the secondary storage control unit  104 , repeated disruptive logins to the secondary storage control unit  104  are not required in the embodiments.  
       Additional Implementation Details  
       [0068]     The described techniques may be implemented as a method, apparatus or article of manufacture using standard programming and/or engineering techniques to produce software, firmware, hardware, or any combination thereof. The term “article of manufacture” as used herein refers to code or logic implemented in hardware logic (e.g., an integrated circuit chip, Programmable Gate Array (PGA), Application Specific Integrated Circuit (ASIC), etc.) or a computer readable medium (e.g., magnetic storage medium, such as hard disk drives, floppy disks, tape), optical storage (e.g., CD-ROMs, optical disks, etc.), volatile and non-volatile memory devices (e.g., EEPROMs, ROMs, PROMs, RAMs, DRAMs, SRAMs, firmware, programmable logic, etc.). Code in the computer readable medium is accessed and executed by a processor. The code in which implementations are made may further be accessible through a transmission media or from a file server over a network. In such cases, the article of manufacture in which the code is implemented may comprise a transmission media, such as a network transmission line, wireless transmission media, signals propagating through space, radio waves, infrared signals, etc. Of course, those skilled in the art will recognize that many modifications may be made to this configuration without departing from the scope of the implementations, and that the article of manufacture may comprise any information bearing medium known in the art.  
         [0069]      FIG. 6  illustrates a block diagram of a computer architecture in which certain aspects of the invention are implemented.  FIG. 6  illustrates one implementation of the host  101 , and the storage control units  102 ,  104 ,  106 , and the fibre channel adapters  108   a  . . .  108   q,    110   a  . . .  110   r,    112   a  . . .  112   s.  Not all elements illustrated in  FIG. 6  are required to be present in the host  101 , the storage control units  102 ,  104 ,  106 , and the fibre channel adapters  108   a  . . .  108   q,    110   a  . . .  110   r,    112   a  . . .  112   s.  The host  101 , the storage control units  102 ,  104 ,  106 , and the fibre channel adapters  108   a  . . .  108   q,    110   a  . . .  110   r,    112   a  . . .  112   s  may implement a computer architecture  600  having a processor  602 , a memory  604  (e.g., a volatile memory device), and storage  606  (e.g., a non-volatile storage, magnetic disk drives, optical disk drives, tape drives, etc.). The storage  606  may comprise an internal storage device, an attached storage device or a network accessible storage device. Programs in the storage  606  may be loaded into the memory  604  and executed by the processor  602  in a manner known in the art. The architecture may further include a network card  608  to enable communication with a network. The architecture may also include at least one input  610 , such as a keyboard, a touchscreen, a pen, voice-activated input, etc., and at least one output  612 , such as a display device, a speaker, a printer, etc.  
         [0070]     The logic of  FIGS. 4 and 5  describes specific operations occurring in a particular order. Further, the operations may be performed in parallel as well as sequentially. In alternative implementations, certain of the logic operations may be performed in a different order, modified or removed and still implement implementations of the present invention. Morever, steps may be added to the above described logic and still conform to the implementations. Yet further steps may be performed by a single process or distributed processes.  
         [0071]     Many of the software and hardware components have been described in separate modules for purposes of illustration. Such components may be integrated into a fewer number of components or divided into a larger number of components. Additionally, certain operations described as performed by a specific component may be performed by other components.  
         [0072]     Therefore, the foregoing description of the implementations has been presented for the purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed. Many modifications and variations are possible in light of the above teaching. It is intended that the scope of the invention be limited not by this detailed description, but rather by the claims appended hereto. The above specification, examples and data provide a complete description of the manufacture and use of the composition of the invention. Since many implementations of the invention can be made without departing from the spirit and scope of the invention, the invention resides in the claims hereinafter appended.

Technology Classification (CPC): 7