Patents by Inventor Andrew J. Spry

Andrew J. Spry has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 8055815
    Abstract: The present disclosure is directed to a method for communication between an initiator system and a block storage cluster. The method may comprise receiving an initial data request from the initiator system to a first storage system, a portion of the data requested in the initial data request is not stored by the first storage system, but is stored by a second storage system; retrieving the portion of the data that is stored by the second storage system; forwarding the portion of the data to the initiator system; and transmitting a referral list comprising at least one referral from the first storage system to the initiator system, wherein the initiator system is configured for maintaining a referral cache based on the referral list, and a subsequent data request initiated by the initiator system is directed to the block storage cluster based on the referral cache.
    Type: Grant
    Filed: April 16, 2009
    Date of Patent: November 8, 2011
    Assignee: LSI Corporation
    Inventors: Ross E. Zwisler, Andrew J. Spry, Gerald J. Fredin, Kenneth J. Gibson
  • Publication number: 20110225371
    Abstract: A method for communication between an initiator system and a storage cluster. The method comprises receiving an initial I/O request from the initiator system to a first storage system; providing a referral response from the first storage system to the initiator system, the referral response providing information for directing the initiator system to a second storage system; notifying the second storage system regarding the referral response via a prefetch notice, the prefetch notice including an operation type and address information for accessing requested data; when the initial I/O request is a read request, prefetching at least a portion of the requested data stored in the second storage system in to a cache; receiving a second I/O request from the initiator system to the second storage system; and providing to the initiator system the portion of the prefetched data from the cache of the second storage system.
    Type: Application
    Filed: March 10, 2010
    Publication date: September 15, 2011
    Applicant: LSI CORPORATION
    Inventor: Andrew J. Spry
  • Publication number: 20110225453
    Abstract: The present disclosure is directed to a system and a method for optimizing redundancy restoration in distributed data layout environments. The system may include a plurality of storage devices configured for providing data storage. The system may include a prioritization module communicatively coupled to the plurality of storage devices. The prioritization module may be configured for determining a restoration order of at least a first data portion and a second data portion when a critical data failure occurs. The system may include a restoration module communicatively coupled to the plurality of storage devices and the prioritization module, the restoration module configured for restoring at least the first data portion and the second data portion based upon the restoration order.
    Type: Application
    Filed: March 11, 2010
    Publication date: September 15, 2011
    Applicant: LSI Corporation
    Inventors: Andrew J. Spry, Kevin Kidney
  • Publication number: 20110004707
    Abstract: A method and/or system may be configured to receive an input/output (I/O) request from an initiator system, add priority information to a multiple path referral for each port on which data can be accessed, selectively omit ports on which data may be accessed, transmit the multiple path referral from the target to the initiator, and/or choose a path on the initiator with the highest performance.
    Type: Application
    Filed: July 1, 2009
    Publication date: January 6, 2011
    Applicant: LSI CORPORATION
    Inventors: Andrew J. Spry, Ross E. Zwisler, Gerald J. Fredin, Kenneth J. Gibson
  • Publication number: 20100281191
    Abstract: The present disclosure is directed to a method for communication between an initiator system and a block storage cluster. The method may comprise initiating an input/output (I/O) request from the initiator system to a first storage system included in a plurality of storage systems of the block storage cluster, each of the plurality of storage systems comprising a plurality of data segments; receiving a referral response from the first storage system, the referral response providing information describing a layout of data requested in the I/O request; obtaining a virtual disk count, a segment size, and at least one indexed port identifier based on the referral response; and directing the I/O request from the initiator system to the block storage cluster based on the virtual disk count, the segment size, and the at least one indexed port identifier.
    Type: Application
    Filed: April 29, 2009
    Publication date: November 4, 2010
    Inventors: Ross E. Zwisler, Andrew J. Spry, Gerald J. Fredin, Kenneth J. Gibson
  • Publication number: 20100281242
    Abstract: Methods and systems for provision of boot parameters may comprise: receiving one or more boot parameter event notification registration requests; registering one or more boot parameter event receiver clients; and providing one or more boot parameters to one or more registered boot parameter event receiver clients.
    Type: Application
    Filed: April 29, 2009
    Publication date: November 4, 2010
    Inventors: James A. Lynn, Andrew J. Spry, Scott Masterson
  • Publication number: 20100269124
    Abstract: The present disclosure is directed to a method for communication between an initiator system and a block storage cluster. The method may comprise receiving an initial data request from the initiator system to a first storage system, a portion of the data requested in the initial data request is not stored by the first storage system, but is stored by a second storage system; retrieving the portion of the data that is stored by the second storage system; forwarding the portion of the data to the initiator system; and transmitting a referral list comprising at least one referral from the first storage system to the initiator system, wherein the initiator system is configured for maintaining a referral cache based on the referral list, and a subsequent data request initiated by the initiator system is directed to the block storage cluster based on the referral cache.
    Type: Application
    Filed: April 16, 2009
    Publication date: October 21, 2010
    Inventors: Ross E. Zwisler, Andrew J. Spry, Gerald J. Fredin, Kenneth J. Gibson
  • Publication number: 20100250894
    Abstract: A method for communication between an initiator system and a block storage cluster may include receiving a first command at a first storage system included in a plurality of storage systems of the block storage cluster. The method may also include transmitting a referral response from the first storage system to the initiator system when at least a portion of the data associated in the first command is stored by a second storage system. The method may further include obtaining a segment start value and a corresponding port identifier based on the referral response, and directing a second command to at least a second storage system included in the plurality of storage systems of the block cluster.
    Type: Application
    Filed: March 31, 2009
    Publication date: September 30, 2010
    Inventors: Ross Zwisler, Andrew J. Spry, Gerald J. Fredin, Kenneth J. Gibson
  • Publication number: 20100251267
    Abstract: The present disclosure is directed to a method for communication between an initiator system and a block storage cluster. The method may comprise receiving a first referral response from a first storage system included in a plurality of storage systems of the block storage cluster, the first referral response providing information for directing the initiator system to a second storage system included in the plurality of storage systems of the block storage cluster; obtaining a starting logical block address (LBA) and a corresponding port identifier based on the first referral response; storing the starting LBA and the corresponding port identifier in a referral cache accessible to the initiator system; and directing an input/output (I/O) request from the initiator system to the block storage cluster based on the starting LBA and the corresponding port identifier stored in the referral cache.
    Type: Application
    Filed: March 24, 2009
    Publication date: September 30, 2010
    Inventors: Ross E. Zwisler, Andrew J. Spry, Gerald J. Fredin, Kenneth J. Gibson
  • Publication number: 20100161843
    Abstract: The present invention is a method for accelerating proxy Input/Output (proxy I/O). The method includes the step of receiving a command at a primary target storage system. The primary target storage system may be part of a clustered storage array. The command may be a command which was transmitted by an initiator system via a storage area network, and may include a request for data. The method further includes the step of forwarding the command to a session layer of the primary target storage system. Further, when a virtualization layer of the primary target storage system determines that a portion of the data requested in the data request is not stored by the primary target storage system, but is stored by a proxy target storage system included in the plurality of storage systems, the method further includes providing a proxyIO request to a proxy initiator of the primary target storage system.
    Type: Application
    Filed: December 19, 2008
    Publication date: June 24, 2010
    Inventor: Andrew J. Spry
  • Publication number: 20100153612
    Abstract: The present invention is a method for providing multi-pathing via Small Computer System Interface Input/Output (SCSI I/O) referral between an initiator and a storage cluster which are communicatively coupled via a network, the storage cluster including at least a first target device and a second target device. The method includes receiving an input/output (I/O) at the first target device from the initiator via the network. The I/O includes a data request. The method further includes transmitting a SCSI I/O referral list to the initiator when data included in the data request is not stored on the first target device, but is stored on the second target device. The referral list includes first and second port identifiers for identifying first and second ports of the second target device respectively. The first and second port identifiers are SCSI relative port identifiers. The first and second ports of the target device are identified as access ports for accessing the data requested in the data request.
    Type: Application
    Filed: September 1, 2009
    Publication date: June 17, 2010
    Applicant: LSI CORPORATION
    Inventors: Ross E. Zwisler, Robert L. Sheffield, Andrew J. Spry, Gerald J. Fredin, Kenneth J. Gibson
  • Publication number: 20100153767
    Abstract: The present invention is a method for communication between an initiator system and a block storage cluster. The method includes receiving a command at a first storage system of a block storage cluster. The command is transmitted by the initiator system to the first storage system via a network and includes a request for data. The method further includes transferring the stored data from the first storage system to the initiator system via the network when data requested in the data request is stored by the first storage system. The method further includes transmitting a referral response from the first storage system to the initiator system when a portion of the data requested in the data request is not stored by the first storage system, but is stored by a second storage system of the block storage cluster. The referral response indicates to the initiator system that: a) not all of the requested data was transferred; and b) that the second storage system stores the portion of the requested data.
    Type: Application
    Filed: December 15, 2008
    Publication date: June 17, 2010
    Inventors: Gerald J. Fredin, Andrew J. Spry, Kenneth J. Gibson, Ross E. Zwisler
  • Publication number: 20100153613
    Abstract: A command is issued to a first data storage system for addressing a set of data and at least one of a first referral response including a referral to at least a second data storage system or at least a first subset of the set of data and the first referral response including the referral to the at least the second data storage system. The at least one of a first referral response including a referral to at least a second data storage system or at least a first subset of the set of data and the first referral response including the referral to the at least the second data storage system is accessed. A command is issued to the second data storage system for addressing the set of data and a second referral response including a referral to at least one of the first data storage system and a third data storage system, the second data storage system including at least a second subset of the set of data.
    Type: Application
    Filed: September 3, 2009
    Publication date: June 17, 2010
    Applicant: LSI Corporation
    Inventors: Ross E. Zwisler, Andrew J. Spry, Gerald J. Fredin, Kenneth J. Gibson
  • Publication number: 20100153975
    Abstract: The present invention is a method for providing multi-pathing via Small Computer System Interface Input/Output (SCSI I/O) referral between an initiator and a storage cluster which are communicatively coupled via a network, the storage cluster including at least a first target device and a second target device. The method includes receiving an input/output (I/O) at the first target device from the initiator via the network. The I/O includes a data request. The method further includes transmitting a SCSI I/O referral list to the initiator when data included in the data request is not stored on the first target device, but is stored on the second target device. The referral list includes first and second port identifiers for identifying first and second ports of the second target device respectively. The first and second ports of the target device are identified as access ports for accessing the data requested in the data request.
    Type: Application
    Filed: December 15, 2008
    Publication date: June 17, 2010
    Inventors: Ross E. Zwisler, Andrew J. Spry, Gerald J. Fredin, Kenneth J. Gibson
  • Patent number: 7584272
    Abstract: The present invention is directed to a method and apparatus for self-configuration of iSCSI storage devices suitable for being utilized as a “plug and play” device for various network environments including direct attached, IP storage area networks with iSNS servers, and IP storage area networks without iSNS servers. The present invention may perform automatic configuration steps including network configuration, storage volume configuration, iSCSI target configuration, iSCSI initiator registration, volume to LUN mapping, and the like. The present invention may be combined with a global configuration setting in the iSCSI storage device to enable automatic configuration. In this manner, the same firmware can be utilized for iSCSI storage devices developed for multiple target markets from direct attached to large IP SANs.
    Type: Grant
    Filed: October 19, 2004
    Date of Patent: September 1, 2009
    Assignee: LSI Corporation
    Inventor: Andrew J. Spry
  • Patent number: 7568216
    Abstract: The present invention is directed to methods for defining and naming iSCSI targets using volume access and security policy. In an exemplary aspect of the present invention, a method for defining an iSCSI target using volume access and security policy may include the following steps. One or more volumes of a network entity may be first mapped to an initiator. The mapping defines the unique Logical Unit Number for the volume to an initiator. Then, a security level may be defined for access to each volume accessed by the initiator. The subset of mappings for each initiator may be given any unique name. Next, the mapping and security subsets may be used to define the fully qualified targets with which the initiator may open a session.
    Type: Grant
    Filed: December 19, 2003
    Date of Patent: July 28, 2009
    Assignee: LSI Logic Corporation
    Inventors: Andrew J. Spry, Kevin Lindgren, James Lynn
  • Patent number: 7461140
    Abstract: The present invention is directed to a method and apparatus for identifying IPsec security policy in iSCSI. In an exemplary aspect of the present invention, a method for identifying IPsec security policy in iSCSI includes the following steps. An IP address may be allocated to a physical port of an iSCSI network entity. The physical port may include at least one TCP listening port. For a discovery session, the IP address may be statically allocated (or permanently leased). For a normal session, the IP address may be statically allocated or DHCP assigned. A TCP listening port associated with the IP address in an iSCSI portal may then be used to link a security policy on an IP connection with iSCSI configuration.
    Type: Grant
    Filed: December 19, 2003
    Date of Patent: December 2, 2008
    Assignee: LSI Corporation
    Inventors: Andrew J. Spry, James A. Lynn
  • Patent number: 7343621
    Abstract: The present invention is a method and apparatus for providing iSCSI target stealth operation. In an exemplary aspect of the present invention, a method for prohibiting iSCSI discovery sessions may include the following steps: (a) receiving an iSCSI login request; (b) determining whether the iSCSI login request payload contains a “SessionType=Discovery” key/value pair; and (c) when discovery sessions are disabled and the iSCSI login request contains the “SessionType=Discovery” key/value pair, rejecting the iSCSI login request with a iSCSI status-class of “Target Error” and status-detail of “Session Type not Supported.” The present stealth mode may include the foregoing-described method for restricting the discovery operation and a method for managing discovery and ancillary protocols which may lead to denial of service attacks.
    Type: Grant
    Filed: December 5, 2003
    Date of Patent: March 11, 2008
    Assignee: LSI Logic Corporation
    Inventors: Andrew J Spry, William Deitz
  • Patent number: 7257730
    Abstract: The invention is directed to a method and apparatus for supporting legacy mode fail-over drivers with an iSCSI network entity including multiple redundant controllers. In an exemplary aspect of the present invention, to support legacy mode fail-over drivers with an iSCSI network entity including multiple redundant controllers, the following configuration constraints may be placed on the iSCSI network entity and its iSCSI configuration: (1) the network device need have two or more redundant controllers; (2) the portals on each controller may or may not be formed into portal groups; (3) the portal groups may not span controllers (i.e., the target portal groups are limited in scope to a single controller); (4) the same iSCSI target name need be exported by all redundant controllers (i.e., the targets span all controllers of the iSCSI network entity, making the LUNs available to all controllers); (5) the target portal group numbers on the redundant controllers need have unique target portal group tags (i.e.
    Type: Grant
    Filed: December 19, 2003
    Date of Patent: August 14, 2007
    Assignee: LSI Corporation
    Inventor: Andrew J. Spry
  • Patent number: 6138019
    Abstract: A cellular communication system hand-off protocol which helps minimize down time associated with a mobile device roaming among different cells in which different cells employ different communication channels (e.g., different frequency hopping sequences). In a preferred embodiment, each base station is configured to communicate its own particular hopping sequence to the host computer via the system backbone. Each base station then provides to mobile devices which are registered thereto information regarding the particular hopping sequences employed by other base stations servicing cells into which the mobile device may roam. Such information includes the particular hopping sequences together with an indication of what location in the sequence the base stations are currently at in any given time.
    Type: Grant
    Filed: December 11, 1996
    Date of Patent: October 24, 2000
    Assignee: Cisco Systems, Inc.
    Inventors: Michael L. Trompower, Douglas A. Smith, Philip H. Belanger, Andrew J. Spry, Nainesh P. Shah