Many good options are available today to do this. Most use FC-IP as the connection method except for Nishan that uses iFCP. Several thousand miles distance will mean there will be latency involved. Make sure the vendor you choose provides enough "buffer credits" within their device to maximize performance, if the protocol or method requires them. You will find most devices provide a "store and forward" technique to alleviate some of the latency issues. I have a lot of experience with Nishan, and find it to be a good solution. It uses the iFCP protocol, which provides for device-to-device sessions. Other solutions include INRANGE, CNT and now Cisco.
As for software, this would usually require in-band data pooling through an appliance talking to another appliance at the remote end. There are numerous vendors in this area. Another little known software tool is Compaq's "Virtual Replicator," which provides for SCSI block oriented UDP access to IP connected storage pools and can run on any NT server. This will not "connect" SAN islands but will provide iSCSI like access to remote storage through an IP NIC and an agent on a client. This is an NT only method though.
Editor's note: Also, take a look at searchStorage's bookstore for more books on storage networking.
This was first published in March 2002