Introduction
jSCSI is the first Java iSCSI initiator. Since it is written in Java, jSCSI is platform independent and easy to extend.
The iSCSI protocol
The iSCSI protocol defines how a client (iSCSI initiator) accesses a block device on a server (iSCSI target) over a TCP/IP network. It is inspired by the existing SCSI protocol used to access local hard drives or other devices in a block-oriented fashion.
Being standardized in April 2004 with RFC 3720, it was quickly adopted, not least because it is believed to offer a better price-performance ratio and fewer infrastructure changes than competing solutions such as fibre channel.
Furthermore, recent research indicates that user-level iSCSI initiators can improve performance considerably.
jSCSI
jSCSI includes a Java iSCSI initiator, and a Java device activity monitoring tool (Whiskas). Future jSCSI releases shall come with an adaptive storage pool inspired by Sun Microsystem's ZFS as well as a more elaborate jSCSI initiator.
jSCSI was created at the University of Konstanz ( Distributed Systems Group ) and is hosted with Sourceforge under the Apache License V2.0 .
Documentation
Master Thesis
of Volker Wildi
jSCSI State Diagram Phase