Patents by Inventor Daniel F. Casper

Daniel F. Casper 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: 10380042
    Abstract: An example computer-implemented method may include receiving, by a general purpose processor, the I/O operation. The method may further include transmitting, by the general purpose processor, the I/O operation to a system assist processor. The method may further include transmitting, by the system assist processor, the I/O operation to an I/O channel for execution by the I/O channel, wherein transmitting the I/O operation to the I/O channel comprises queuing the I/O operation in the multi-queue. The method may further include executing, by the I/O channel, the I/O operation.
    Type: Grant
    Filed: November 22, 2016
    Date of Patent: August 13, 2019
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Craig A. Bickelman, Daniel F. Casper, Christopher J. Colonna, John Flanagan, Francis Gassert, Elke G. Nass, Kenneth J. Oakes, Mooheng Zee
  • Publication number: 20180143918
    Abstract: Examples of techniques for queuing an input/output (I/O) operation in a multi-queue are disclosed. In one example implementation according to aspects of the present disclosure, an example computer-implemented method may include receiving, by a general purpose processor, the I/O operation. The method may further include transmitting, by the general purpose processor, the I/O operation to a system assist processor. The method may further include transmitting, by the system assist processor, the I/O operation to an I/O channel for execution by the I/O channel, wherein transmitting the I/O operation to the I/O channel comprises queuing the I/O operation in the multi-queue. The method may further include executing, by the I/O channel, the I/O operation.
    Type: Application
    Filed: November 22, 2016
    Publication date: May 24, 2018
    Inventors: Craig A. Bickelman, Daniel F. Casper, Christopher J. Colonna, John Flanagan, Francis Gassert, Elke G. Nass, Kenneth J. Oakes, Mooheng Zee
  • Patent number: 9720844
    Abstract: A computer program product for processing input/output (I/O) data is provided for performing a method that includes receiving a transport control word (TCW) including an indirect data address including a starting location of a transport mode indirect data address list (TIDAL) of storage addresses, the TIDAL including a plurality of entries configured as transport mode indirect data address words (TIDAWs). The method includes accessing an entry of the TIDAL, which includes: 1) based on the entry of the TIDAL indicating that the address is a data address, gathering data from a data storage location corresponding to the data address, and accessing a next entry of the TIDAL, and 2) based on the entry of the TIDAL indicating that the address is an address of a next entry of the TIDAL, obtaining the next entry of the TIDAL from another storage location that is located non-contiguously to the entry storage location.
    Type: Grant
    Filed: August 4, 2016
    Date of Patent: August 1, 2017
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Daniel F. Casper, Mark P. Bendyk, John R. Flanagan, Catherine C. Huang, Matthew J. Kalos, Ugochukwu C. Njoku, Dale F. Riedy, Gustav E. Sittmann, III, Harry M. Yudenfriend
  • Patent number: 9569391
    Abstract: Processing of out-of-order data transfers is facilitated in computing environments that enable data to be directly transferred between a host bus adapter (or other adapter) and a system without first staging the data in hardware disposed between the host bus adapter and the system. An address to be used in the data transfer is determined, in real-time, by efficiently locating an entry in an address data structure that includes the address to be used in the data transfer.
    Type: Grant
    Filed: May 23, 2014
    Date of Patent: February 14, 2017
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Clinton E. Bubb, Daniel F. Casper, John R. Flanagan, Raymond M. Higgs, George P. Kuch, Jeffrey M. Turner
  • Publication number: 20160342525
    Abstract: A computer program product for processing input/output (I/O) data is provided for performing a method that includes receiving a transport control word (TCW) including an indirect data address including a starting location of a transport mode indirect data address list (TIDAL) of storage addresses, the TIDAL including a plurality of entries configured as transport mode indirect data address words (TIDAWs). The method includes accessing an entry of the TIDAL, which includes: 1) based on the entry of the TIDAL indicating that the address is a data address, gathering data from a data storage location corresponding to the data address, and accessing a next entry of the TIDAL, and 2) based on the entry of the TIDAL indicating that the address is an address of a next entry of the TIDAL, obtaining the next entry of the TIDAL from another storage location that is located non-contiguously to the entry storage location.
    Type: Application
    Filed: August 4, 2016
    Publication date: November 24, 2016
    Inventors: Daniel F. Casper, Mark P. Bendyk, John R. Flanagan, Catherine C. Huang, Matthew J. Kalos, Ugochukwu C. Njoku, Dale F. Riedy, Gustav E. Sittmann, III, Harry M. Yudenfriend
  • Patent number: 9483433
    Abstract: Articles of manufacture, apparatuses, and methods for processing communication data in a ships passing condition are disclosed. Embodiments include a computer program product for performing a method including: obtaining a Transport Command Control Block (TCCB) from a location in memory specified by a Transport Command Control Block address of a Transport Control Word; opening a first exchange and sending, by a channel subsystem, the TCCB in the first exchange to a control unit; receiving, by the channel subsystem, an unsolicited first message in a second exchange from the control unit, the unsolicited first message opening the second exchange, the second exchange being a different exchange than the first exchange; and sending, by the channel subsystem, a second message to the control unit in a third exchange, the second message comprising a status of the first message, the second message configured to open and close the third exchange.
    Type: Grant
    Filed: May 20, 2015
    Date of Patent: November 1, 2016
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Daniel F. Casper, John R. Flanagan, Roger G. Hathorn, Catherine C. Huang, Matthew J. Kalos, Louis W. Ricci
  • Patent number: 9436272
    Abstract: A computer program product for processing input/output (I/O) data is provided for performing a method, which includes receiving a control word having an indirect data address including a starting location of a list of storage addresses, gathering the data and transmitting gathered data to a control unit in the I/O processing system. Gathering includes accessing an entry of the list, the entry located at an entry storage location and including an address. Based on the entry of the list indicating that the address is a data address, data is gathered from a data storage location, and a next entry of the list is accessed. Based on the entry of the list indicating that the address is an address of a next entry of the list, the next entry of the list is obtained from another storage location that is located non-contiguously to the entry storage location.
    Type: Grant
    Filed: September 11, 2014
    Date of Patent: September 6, 2016
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Daniel F. Casper, Mark P. Bendyk, John R. Flanagan, Catherine C. Huang, Matthew J. Kalos, Ugochukwu C. Njoku, Dale F. Riedy, Gustav E. Sittmann, III, Harry M. Yudenfriend
  • Patent number: 9330042
    Abstract: A computer program product includes a tangible storage storing instructions for performing a method. The method includes: sending a request from a processing unit in a host computer system to a channel subsystem to provide a channel path description for a channel path, the channel subsystem including a channel configured to be coupled to a control unit via the channel path and configured to control information transfer between the channel subsystem and the I/O device; and receiving channel path capability information by the processing unit, the capability information specified by a channel path description block including channel path identification and description information, the channel path description block specifying whether the channel path supports a Fiber Channel protocol for commanding an I/O operation, the channel path description block specifying whether the channel path supports an extension to the Fiber Channel protocol based on the channel path supporting the Fiber Channel protocol.
    Type: Grant
    Filed: January 23, 2015
    Date of Patent: May 3, 2016
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Charles W. Gainey, Jr., Daniel F. Casper
  • Patent number: 9298379
    Abstract: A computer program product, apparatus, and a method for facilitating input/output (I/O) processing for an I/O operation at a host computer system configured for communication with a control unit. The method includes receiving, by a control unit, a command block configured to hold a plurality of commands including an input command and/or an output command, the plurality of commands specified by a transport command word (TCW) including a read indicator configured to indicate whether the I/O operation includes input data and a write indictor configured to indicate whether the I/O operation includes output data; based on the command block holding at least one output command, receiving the output data and executing the at least one output command; and based on the command block holding at least one input command, forwarding the input data to the channel subsystem for storage at a location specified by the TCW.
    Type: Grant
    Filed: November 17, 2014
    Date of Patent: March 29, 2016
    Assignee: International Business Machines Corporation
    Inventors: John R. Flanagan, Daniel F. Casper, Catherine C. Huang, Matthew J. Kalos, Ugochukwu C. Njoku, Dale F. Riedy, Gustav E. Sittmann, III
  • Patent number: 9292224
    Abstract: An computer program product, apparatus, and method for facilitating input/output (I/O) processing for an I/O operation at a host computer system configured for communication with a control unit. The computer program product is provided for performing a method including: sending a transport command word (TCW) to an I/O subsystem, the TCW specifying a location address and indicating whether the TCW directly or indirectly addresses a message; extracting the location address from the TCW; obtaining the message from the specified location address based on the TCW indicating direct addressing, the message including the one or more I/O commands; gathering the one or more I/O commands from command locations specified by a list of addresses identified by the specified location address to form the message based on the TCW indicating indirect addressing; and generating a message including the one or more I/O commands.
    Type: Grant
    Filed: June 13, 2014
    Date of Patent: March 22, 2016
    Assignee: International Business Machines Corporation
    Inventors: Daniel F. Casper, John R. Flanagan, Catherine C. Huang, Matthew J. Kalos, Ugochukwu C. Njoku, Dale F. Riedy, Gustav E. Sittmann, III
  • Patent number: 9195394
    Abstract: A computer program product is provided for performing a method that includes receiving a command message at a control unit from a channel subsystem in a host computer system, the command message including a command for data to be transferred from the host computer system to an I/O device. The method also includes receiving a data transfer message at the control unit, the data transfer message having an amount of the data to be transferred that is less than or equal to a maximum amount of data, the maximum amount of data corresponding to a number of buffers associated with the control unit and a size of each of the number of buffers, the number of buffers indicated by a buffer credit value maintained in the host computer system, and the size indicated by a buffer size value sent from the control unit and maintained in the host computer system.
    Type: Grant
    Filed: November 25, 2014
    Date of Patent: November 24, 2015
    Assignee: International Business Machines Corporation
    Inventors: Scott M. Carlson, Daniel F. Casper, John R. Flanagan, Roger G. Hathorn, Matthew J. Kalos, Louis W. Ricci, Gustav E. Sittmann, III
  • Publication number: 20150254204
    Abstract: Articles of manufacture, apparatuses, and methods for processing communication data in a ships passing condition are disclosed. Embodiments include a computer program product for performing a method including: obtaining a Transport Command Control Block (TCCB) from a location in memory specified by a Transport Command Control Block address of a Transport Control Word; opening a first exchange and sending, by a channel subsystem, the TCCB in the first exchange to a control unit; receiving, by the channel subsystem, an unsolicited first message in a second exchange from the control unit, the unsolicited first message opening the second exchange, the second exchange being a different exchange than the first exchange; and sending, by the channel subsystem, a second message to the control unit in a third exchange, the second message comprising a status of the first message, the second message configured to open and close the third exchange.
    Type: Application
    Filed: May 20, 2015
    Publication date: September 10, 2015
    Inventors: Daniel F. Casper, John R. Flanagan, Roger G. Hathorn, Catherine C. Huang, Matthew J. Kalos, Louis W. Ricci
  • Patent number: 9052837
    Abstract: Articles of manufacture, apparatuses, and methods for processing communications between a control unit and a channel subsystem in an input/output processing system are disclosed. Embodiments of the invention include an article of manufacture including at least one computer usable medium having computer readable program code logic to processing communications between a control unit and a channel subsystem in an input/output processing system. The computer readable program code logic performs a method including: sending a message in a first mode from the control unit to the channel subsystem; receiving a command in a second mode from the channel subsystem at the control unit; determining whether the command is responsive to the message; and responsive to the command being not responsive to the message, determining whether to perform one of i) executing the command and ii) terminating the command.
    Type: Grant
    Filed: February 14, 2008
    Date of Patent: June 9, 2015
    Assignee: International Business Machines Corporation
    Inventors: Catherine C. Huang, Daniel F. Casper, John R. Flanagan, Roger G. Hathorn, Matthew J. Kalos, Louis W. Rcci
  • Patent number: 9043494
    Abstract: A method includes configuring a processing circuit to perform: receiving a control word for an I/O operation, forwarding a transport command control block (TCCB) from the channel subsystem to a control unit, gathering data associated with the I/O operation, and transmitting the gathered data to the control unit in the I/O processing system. Gathering the data includes accessing entries of a list of storage addresses that collectively specifying the data. Based on an entry of the list comprising a not-set first flag and a corresponding first storage address, gathering data from a corresponding storage location, and based on an entry of the list comprising a set first flag and a corresponding second storage address, obtaining a next entry of the list from a second storage location.
    Type: Grant
    Filed: March 4, 2013
    Date of Patent: May 26, 2015
    Assignee: International Business Machines Corporation
    Inventors: Daniel F. Casper, Mark P. Bendyk, John R. Flanagan, Catherine C. Huang, Matthew J. Kalos, Ugochukwu C. Njoku, Dale F. Riedy, Gustav E. Sittmann, III, Harry M. Yudenfriend
  • Publication number: 20150134874
    Abstract: A computer program product includes a tangible storage storing instructions for performing a method. The method includes: sending a request from a processing unit in a host computer system to a channel subsystem to provide a channel path description for a channel path, the channel subsystem including a channel configured to be coupled to a control unit via the channel path and configured to control information transfer between the channel subsystem and the I/O device; and receiving channel path capability information by the processing unit, the capability information specified by a channel path description block including channel path identification and description information, the channel path description block specifying whether the channel path supports a Fibre Channel protocol for commanding an I/O operation, the channel path description block specifying whether the channel path supports an extension to the Fibre Channel protocol based on the channel path supporting the Fibre Channel protocol.
    Type: Application
    Filed: January 23, 2015
    Publication date: May 14, 2015
    Inventors: Charles W. Gainey, JR., Daniel F. Casper
  • Publication number: 20150120963
    Abstract: A computer program product is provided for performing a method that includes receiving a command message at a control unit from a channel subsystem in a host computer system, the command message including a command for data to be transferred from the host computer system to an I/O device. The method also includes receiving a data transfer message at the control unit, the data transfer message having an amount of the data to be transferred that is less than or equal to a maximum amount of data, the maximum amount of data corresponding to a number of buffers associated with the control unit and a size of each of the number of buffers, the number of buffers indicated by a buffer credit value maintained in the host computer system, and the size indicated by a buffer size value sent from the control unit and maintained in the host computer system.
    Type: Application
    Filed: November 25, 2014
    Publication date: April 30, 2015
    Inventors: Scott M. Carlson, Daniel F. Casper, John R. Flanagan, Roger G. Hathorn, Matthew J. Kalos, Louis W. Ricci, Gustav E. Sittmann, III
  • Patent number: 9021155
    Abstract: A computer program product is provided for performing input/output (I/O) processing. The computer program product is configured to perform: generating and storing in local channel memory at least one address control word (ACW) specifying one or more host memory locations for data transfer and including a data discard field; generating an address control structure specifying a local channel memory location of a corresponding ACW; receiving one or more data transfer requests from a network interface that each corresponding address control structure information; accessing an ACW and routing the data transfer request to a host memory location specified in the ACW; and responsive to encountering an error during at least one of the accessing and the routing, discarding the one or more data transfer requests and setting the data discard field to a value configured to instruct a channel to discard any subsequent data transfer requests associated with the ACW.
    Type: Grant
    Filed: June 1, 2011
    Date of Patent: April 28, 2015
    Assignee: International Business Machines Corporation
    Inventors: Carl A. Bender, Clinton E. Bubb, Daniel F. Casper, John R. Flanagan
  • Patent number: 8990439
    Abstract: A computer program product is provided for performing an input/output (I/O) operation at a host computer system configured for communication with a control unit. The computer program product is configured to perform: sending a transport mode command message from a channel subsystem to the control unit, the command message including a command for data to be transferred to an I/O device controlled by the control unit; and sending a data transfer message to the control unit, the data transfer message having an amount of the data to be transferred, the amount of the data being less than or equal to a maximum amount of data, the maximum amount of data corresponding to a number of buffers associated with the control unit and a size of each of the number of buffers, the number and the size indicated by a value maintained in the host computer system.
    Type: Grant
    Filed: May 29, 2013
    Date of Patent: March 24, 2015
    Assignee: International Business Machines Corporation
    Inventors: Scott M. Carlson, Daniel F. Casper, John R. Flanagan, Roger G. Hathorn, Matthew J. Kalos, Louis W. Ricci, Gustav E. Sittman, III
  • Publication number: 20150074295
    Abstract: A computer program product, apparatus, and a method for facilitating input/output (I/O) processing for an I/O operation at a host computer system configured for communication with a control unit. The method includes receiving, by a control unit, a command block configured to hold a plurality of commands including an input command and/or an output command, the plurality of commands specified by a transport command word (TCW) including a read indicator configured to indicate whether the I/O operation includes input data and a write indictor configured to indicate whether the I/O operation includes output data; based on the command block holding at least one output command, receiving the output data and executing the at least one output command; and based on the command block holding at least one input command, forwarding the input data to the channel subsystem for storage at a location specified by the TCW.
    Type: Application
    Filed: November 17, 2014
    Publication date: March 12, 2015
    Inventors: John R. Flanagan, Daniel F. Casper, Catherine C. Huang, Matthew J. Kalos, Ugochukwu C. Njoku, Dale F. Riedy, Gustav E. Sittmann, III
  • Patent number: 8977793
    Abstract: A computer program product includes a tangible storage storing instructions for performing a method. The method includes: receiving a request at a channel subsystem in a host computer system to provide a channel path description for a channel path, the channel subsystem including a channel configured to be coupled to a control unit via the channel path, the channel configured to control information transfer over the channel path; and outputting a channel path description block from the channel subsystem to the operating system in response to the request, the channel path description block including channel path identification and description information, the channel path description block specifying whether the channel path supports a Fiber Channel protocol for commanding an I/O operation, the channel path description block specifying whether the channel path supports an extension to the Fiber Channel protocol based on the channel path supporting the Fiber Channel protocol.
    Type: Grant
    Filed: November 12, 2013
    Date of Patent: March 10, 2015
    Assignee: International Business Machines Corporation
    Inventors: Charles W. Gainey, Jr., Daniel F. Casper