Patents by Inventor DAVID W. COSBY

DAVID W. COSBY 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: 10310751
    Abstract: A storage-area network (SAN) manager running on a computing device connected to a fabric receives a request to allocate and mount a logical volume on a client computing device connected to the fabric. The manager groups storage drives connected to the fabric by failure domains. The manager filters the storage drives by native capabilities, available capacities, and dynamic performance to remove from consideration any storage drive having insufficient native capabilities, an insufficient available capacity, and/or an insufficient dynamic performance to satisfy the request. The manager selects a set of storage drives on which to store data of the logical volume, from the remaining storage drives, taking into account the failure domains. The manager sends a command to each such storage drive to provision a drive volume, and a command to a software agent on the client device to create and mount the logical volume using these drive volumes.
    Type: Grant
    Filed: November 30, 2016
    Date of Patent: June 4, 2019
    Assignee: Lenovo Enterprise Solutions (Singapore) PTE. LTD.
    Inventors: Patrick Leo Caporale, Michael Neil Condict, David W. Cosby, Jonathan Randall Hinkle
  • Patent number: 10305732
    Abstract: A fabric-attachable storage drive self-monitors a prespecified parameter. Responsive to detecting satisfaction of a prespecified condition, the storage drive autonomously generates a reportable event regarding the self-monitored prespecified parameter, and autonomously transmits the reportable event to a prespecified location on a network fabric to which the drive is connected. The storage drive can interact with other fabric-attachable storage drives to create a logical volume according to a specified logical data storage topology on a self-organized storage device group in a peer-to-peer manner. The storage drive can be a programmable non-volatile memory Express (NVMe) storage drive exporting access thereto over an NVMe-over-fabric storage protocol, or a programmable storage drive lacking an external interface by which to connect to a host computing device storage device but that has a network interface connected to a network fabric.
    Type: Grant
    Filed: January 13, 2017
    Date of Patent: May 28, 2019
    Assignee: Lenovo Enterprise Solutions (Singapore) PTE. LTD.
    Inventors: Michael Neil Condict, David W. Cosby, Jonathan Randall Hinkle, Theodore Brian Vojnovich
  • Patent number: 10296247
    Abstract: A storage-area network (SAN) system includes one or more storage drives directly connected to a fabric. Each storage drive provisions and operates a drive volume, and creates a security token for the drive volume. The system includes a client computing device directly connected to the fabric, and that executes a SAN software agent to create, mount, and use a logical volume realized by drive volumes of the storage drives. The client computing device accesses each drive volume using the security token for the drive volume. The system includes a SAN manager directly connected to the fabric that manages the drive volumes of the storage drives, manages the logical volume that the SAN software agent operates, receives from each storage drive the security token for the drive volume of the storage drive, and sends the security token for the drive volume of each storage drive to the SAN software agent.
    Type: Grant
    Filed: November 21, 2016
    Date of Patent: May 21, 2019
    Assignee: Lenovo Enterprise Solutions (Singapore) PTE. LTD.
    Inventors: Patrick Leo Caporale, Michael Neil Condict, David W. Cosby, Jonathan Randall Hinkle
  • Publication number: 20180335975
    Abstract: An apparatus includes a memory device for storing program instructions and a processor for processing the program instructions to: receive a host data storage command that includes a host namespace, a host memory pointer and a logical block address range; translate the host data storage command into a plurality of disk data storage commands, wherein each disk data storage command is uniquely identified with a disk namespace on one of a plurality of non-volatile memory devices; and send, for each of the plurality of disk data storage commands, the disk data storage command to the non-volatile memory device that includes the uniquely identified disk namespace.
    Type: Application
    Filed: May 16, 2017
    Publication date: November 22, 2018
    Inventors: David W. Cosby, Theodore B. Vojnovich, Michael N. Condict, Jonathan R. Hinkle, Patrick L. Caporale, Pravin Patel
  • Publication number: 20180260123
    Abstract: A storage system includes storage devices that each have a physical medium on which to store metadata regarding the storage device, and client data. The storage system includes a storage manager remotely connected to the storage devices to manage storage of the client data on the storage devices. The storage system includes an event manager separate from the storage manager and locally connected to the storage devices to directly manage the metadata stored on the storage devices, to receive local insertion, removal, and reinsertion events regarding the storage devices, and to send notifications regarding the removal and the reinsertion events to the storage manager. Separation of the storage manager from the event manager permits the storage manager to manage the storage of the client data on the storage devices regardless of a particular event manager to which each storage device is currently locally connected.
    Type: Application
    Filed: March 7, 2017
    Publication date: September 13, 2018
    Inventors: Mark E. Andresen, Michael Neil Condict, David W. Cosby, Jonathan Randall Hinkle
  • Patent number: 10042721
    Abstract: Programmable disk drives are configured within a peer-to-peer redundant array of independent disks (RAID) that lacks a RAID controller. A spare programmable disk drive not part of the RAID can monitor a given drive of the RAID. If the monitored drive fails, the spare drive can replace the failed drive within the RAID such that it becomes part of the RAID, and reconstruct the data on the programmable disk drive that has failed by communicating with the other drives of the RAID. For each data block to be reconstructed, each such other drive may receive just one piece of data and sends just one piece of data. Further, the spare drive may receive just one piece of data for each data block to be reconstructed, which is the data block as reconstructed from one of the other drives of the RAID.
    Type: Grant
    Filed: March 30, 2016
    Date of Patent: August 7, 2018
    Assignee: Lenovo Enterprise Solutions (Singapore) PTE. LTD.
    Inventors: Michael Neil Condict, David W. Cosby
  • Publication number: 20180205603
    Abstract: A fabric-attachable storage drive self-monitors a prespecified parameter. Responsive to detecting satisfaction of a prespecified condition, the storage drive autonomously generates a reportable event regarding the self-monitored prespecified parameter, and autonomously transmits the reportable event to a prespecified location on a network fabric to which the drive is connected. The storage drive can interact with other fabric-attachable storage drives to create a logical volume according to a specified logical data storage topology on a self-organized storage device group in a peer-to-peer manner. The storage drive can be a programmable non-volatile memory Express (NVMe) storage drive exporting access thereto over an NVMe-over-fabric storage protocol, or a programmable storage drive lacking an external interface by which to connect to a host computing device storage device but that has a network interface connected to a network fabric.
    Type: Application
    Filed: January 13, 2017
    Publication date: July 19, 2018
    Inventors: Michael Neil Condict, David W. Cosby, Jonathan Randall Hinkle, Theodore Brian Vojnovich
  • Publication number: 20180150244
    Abstract: A storage-area network (SAN) manager running on a computing device connected to a fabric receives a request to allocate and mount a logical volume on a client computing device connected to the fabric. The manager groups storage drives connected to the fabric by failure domains. The manager filters the storage drives by native capabilities, available capacities, and dynamic performance to remove from consideration any storage drive having insufficient native capabilities, an insufficient available capacity, and/or an insufficient dynamic performance to satisfy the request. The manager selects a set of storage drives on which to store data of the logical volume, from the remaining storage drives, taking into account the failure domains. The manager sends a command to each such storage drive to provision a drive volume, and a command to a software agent on the client device to create and mount the logical volume using these drive volumes.
    Type: Application
    Filed: November 30, 2016
    Publication date: May 31, 2018
    Inventors: Patrick Leo Caporale, Michael Neil Condict, David W. Cosby, Jonathan Randall Hinkle
  • Publication number: 20180143776
    Abstract: A storage-area network (SAN) system includes one or more storage drives directly connected to a fabric. Each storage drive provisions and operates a drive volume, and creates a security token for the drive volume. The system includes a client computing device directly connected to the fabric, and that executes a SAN software agent to create, mount, and use a logical volume realized by drive volumes of the storage drives. The client computing device accesses each drive volume using the security token for the drive volume. The system includes a SAN manager directly connected to the fabric that manages the drive volumes of the storage drives, manages the logical volume that the SAN software agent operates, receives from each storage drive the security token for the drive volume of the storage drive, and sends the security token for the drive volume of each storage drive to the SAN software agent.
    Type: Application
    Filed: November 21, 2016
    Publication date: May 24, 2018
    Inventors: Patrick Leo Caporale, Michael Neil Condict, David W. Cosby, Jonathan Randall Hinkle
  • Publication number: 20180107409
    Abstract: A storage area network (SAN) includes fabric-attachable storage drives that are each directly connected to a fabric and that operate drive volumes. The SAN includes SAN software agents executed by client computing devices that are directly connected to the fabric. Each SAN software agent operates logical volumes realized by the drive volumes of the storage drives. The SAN includes a SAN manager directly connected to the fabric to manage the drive volumes of the SAN storage drives and to manage the logical volumes that the SAN software agents operate.
    Type: Application
    Filed: October 17, 2016
    Publication date: April 19, 2018
    Inventors: Michael Neil Condict, David W. Cosby, Jonathan Randall Hinkle
  • Publication number: 20180101498
    Abstract: An apparatus includes a root port for coupling to a root complex, and a plurality of endpoint ports for coupling to endpoint devices, wherein each endpoint port is associated with a function number. A downstream buffer queues transaction layer packets (TLPs) received from the root port, wherein each TLP in the downstream buffer is directed to an endpoint port associated with the identified function number. An upstream buffer queues TLPs received from each endpoint port, and directs the queued TLPs to the root port. A method includes associating a function number with each endpoint port of a switch, wherein each endpoint port is adapted for coupling to an endpoint device. The method further includes receiving a first TLP from a root complex, identifying a function number within the first TLP, and directing the first TLP to an endpoint device through the endpoint port associated with the identified function number.
    Type: Application
    Filed: October 12, 2016
    Publication date: April 12, 2018
    Inventors: David W. Cosby, Jonathan R. Hinkle, Theodore B. Vojnovich
  • Publication number: 20180059952
    Abstract: Host aware storage tiering including receiving, by a storage controller on a storage server, a disconnect signal indicating an end of a first client session for a client, wherein the first client session comprises accesses to a plurality of data blocks on the storage server; determining, by the storage controller, that at least one data block of the plurality of data blocks was moved to a first tier storage during the first client session; storing, by the storage controller, an indication that the at least one data block was moved to the first tier storage; receiving a connect signal indicating a beginning of a second client session for the client; and moving, in response to the connect signal, the at least one data block into the first tier storage.
    Type: Application
    Filed: August 30, 2016
    Publication date: March 1, 2018
    Inventors: SHAWN C. ANDREWS, DAVID W. COSBY, THEODORE B. VOJNOVICH
  • Publication number: 20170286237
    Abstract: Programmable disk drives are configured within a peer-to-peer redundant array of independent disks (RAID) that lacks a RAID controller. A spare programmable disk drive not part of the RAID can monitor a given drive of the RAID. If the monitored drive fails, the spare drive can replace the failed drive within the RAID such that it becomes part of the RAID, and reconstruct the data on the programmable disk drive that has failed by communicating with the other drives of the RAID. For each data block to be reconstructed, each such other drive may receive just one piece of data and sends just one piece of data. Further, the spare drive may receive just one piece of data for each data block to be reconstructed, which is the data block as reconstructed from one of the other drives of the RAID.
    Type: Application
    Filed: March 30, 2016
    Publication date: October 5, 2017
    Inventors: Michael Neil Condict, David W. Cosby
  • Publication number: 20170199877
    Abstract: Apparatuses, systems, methods, and program products are disclosed for improved storage performance based on data placement. An identifier module generates a plurality of unique identifiers. Each of the unique identifiers is associated with a storage node of a storage cluster. A rank module ranks each of the plurality of unique identifiers in response to a received data item. The ranking of a unique identifier is based on one or more characteristics associated with the received data item. A storage module selects a unique identifier of the plurality of unique identifiers with a best ranking and stores the data item on a storage node associated with the selected unique identifier.
    Type: Application
    Filed: January 13, 2016
    Publication date: July 13, 2017
    Inventors: DAVID W. COSBY, JIAN LI, SHYAM SAREEN, WILLIAM G. HOLLAND, MICHAEL N. CONDICT
  • Patent number: 8831791
    Abstract: Illustrative embodiments provide a computer implemented method, a data processing system, and a computer program product for adjusting cooling settings. The computer implemented method comprises analyzing a set of instructions of an application to determine a number of degrees by which a set of instructions will raise a temperature of at least one processor core. The computer implemented method further calculates a cooling setting for at least one cooling system for the at least one processor core. The computer implemented method adjusts the at least one cooling system based on the cooling setting. The step of analyzing the set of instructions is performed before the set of instructions is executed on the at least one processor core. The step of adjusting the at least one cooling system is performed before the set of instructions is executed on the at least one processor core.
    Type: Grant
    Filed: June 21, 2012
    Date of Patent: September 9, 2014
    Assignee: International Business Machines Corporation
    Inventors: Robert L. Angell, David W. Cosby, Robert R. Friedlander, James R. Kraemer
  • Patent number: 8700764
    Abstract: A pass-through module in a blade chassis receives an incoming message that utilizes a transmission protocol from one of multiple transmission protocols. The pass-through module determines which of the multiple transmission protocols is used by the incoming message by: comparing a physical component of the transmission protocol used by the incoming message with known physical components of the multiple transmission protocols, and, if necessary, comparing a logical component of the transmission protocol used by the incoming message with known logical components of the multiple transmission protocols. The incoming message is then routed to an optimal blade that is specifically adapted to process messages that utilize the transmission protocol used by the incoming message.
    Type: Grant
    Filed: September 28, 2009
    Date of Patent: April 15, 2014
    Assignee: International Business Machines Corporation
    Inventors: Robert L. Angell, David W. Cosby, Richard J. Dalle-Molle, Robert R. Friedlander, James R. Kraemer, Edward S. Suffern
  • Publication number: 20120265365
    Abstract: Illustrative embodiments provide a computer implemented method, a data processing system, and a computer program product for adjusting cooling settings. The computer implemented method comprises analyzing a set of instructions of an application to determine a number of degrees by which a set of instructions will raise a temperature of at least one processor core. The computer implemented method further calculates a cooling setting for at least one cooling system for the at least one processor core. The computer implemented method adjusts the at least one cooling system based on the cooling setting. The step of analyzing the set of instructions is performed before the set of instructions is executed on the at least one processor core. The step of adjusting the at least one cooling system is performed before the set of instructions is executed on the at least one processor core.
    Type: Application
    Filed: June 21, 2012
    Publication date: October 18, 2012
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Robert L. Angell, David W. Cosby, Robert R. Friedlander, James R. Kraemer
  • Publication number: 20110078250
    Abstract: A pass-through module in a blade chassis receives an incoming message that utilizes a transmission protocol from one of multiple transmission protocols. The pass-through module determines which of the multiple transmission protocols is used by the incoming message by: comparing a physical component of the transmission protocol used by the incoming message with known physical components of the multiple transmission protocols, and, if necessary, comparing a logical component of the transmission protocol used by the incoming message with known logical components of the multiple transmission protocols. The incoming message is then routed to an optimal blade that is specifically adapted to process messages that utilize the transmission protocol used by the incoming message.
    Type: Application
    Filed: September 28, 2009
    Publication date: March 31, 2011
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: ROBERT L. ANGELL, DAVID W. COSBY, RICHARD J. DALLE-MOLLE, ROBERT R. FRIEDLANDER, JAMES R. KRAEMER, EDWARD S. SUFFERN