Patents by Inventor William Todd Boyd

William Todd Boyd 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: 7912988
    Abstract: A mechanism for offloading the management of receive queues in a split (e.g. split socket, split iSCSI, split DAFS) stack environment, including efficient queue flow control and TCP/IP retransmission support. An Upper Layer Protocol (ULP) creates receive work queues and completion queues that are utilized by an Internet Protocol Suite Offload Engine (IPSOE) and the ULP to transfer information and carry out send operations. As consumers initiate receive operations, receive work queue entries (RWQEs) are created by the ULP and written to the receive work queue (RWQ). The ISPOE is notified of a new entry to the RWQ and it subsequently reads this entry that contains pointers to the data that is to be received. After the data is received, the IPSOE creates a completion queue entry (CQE) that is written into the completion queue (CQ). After the CQE is written, the ULP subsequently processes the entry and removes it from the CQE, freeing up a space in both the RWQ and CQ.
    Type: Grant
    Filed: July 14, 2006
    Date of Patent: March 22, 2011
    Assignee: International Business Machines Corporation
    Inventors: William Todd Boyd, Jean L. Calvignac, Chih-Jen Chang, Douglas J. Joseph, Renato John Recio
  • Patent number: 7849228
    Abstract: The present invention provides mechanisms that enable application instances to pass block mode storage requests directly to a physical I/O adapter without run-time involvement from the local operating system or hypervisor. In one aspect of the present invention, a mechanism is provided for handling user space creation and deletion operations for creating and deleting allocations of linear block addresses of a physical storage device to application instances. For creation, it is determined if there are sufficient available resources for creation of the allocation. For deletion, it is determined if there are any I/O transactions active on the allocation before performing the deletion. Allocation may be performed only if there are sufficient available resources and deletion may be performed only if there are no active I/O transactions on the allocation being deleted.
    Type: Grant
    Filed: November 12, 2008
    Date of Patent: December 7, 2010
    Assignee: International Business Machines Corporation
    Inventors: William Todd Boyd, John Lewis Hufferd, Agustin Mena, III, Renato John Recio, Madeline Vega
  • Patent number: 7818362
    Abstract: A mechanism for offloading the management of send queues in a split socket stack environment, including efficient split socket queue flow control and TCP/IP retransmission support. An Upper Layer Protocol (ULP) creates send work queue entries (SWQEs) for writing to the send work queue (SWQ). The Internet Protocol Suite Offload Engine (IPSOE) is notified of a new entry to the SWQ and it subsequently reads this entry that contains pointers to the data that is to be transmitted. After the data is transmitted and acknowledgments are received, the IPSOE creates a completion queue entry (CQE) that is written into the completion queue (CQ). The flow control between the ULP and the IPSOE is credit based. The passing of CQ credits is the only explicit mechanism required to manage flow control of both the SWQ and the CQ between the ULP and the IPSOE.
    Type: Grant
    Filed: May 5, 2006
    Date of Patent: October 19, 2010
    Assignee: International Business Machines Corporation
    Inventors: William Todd Boyd, Jean L. Calvignac, Chih-Jen Chang, Douglas J. Joseph, Renato John Recio
  • Patent number: 7657662
    Abstract: A mechanism is provided that enables user space middleware or applications to pass file name based storage requests directly to a physical I/O Adapter without run-time involvement from the local Operating System (OS). A mechanism is provided for using a file protection table (FPT) data structure, which may include a file name protection table (FNPT) and file extension protection table (FEPT), to control user space and out of user space Input/Output (I/O) operations. In addition, a mechanism is provided for managing the FPT based on user space operations to create, query, modify and delete entries in the FPT.
    Type: Grant
    Filed: August 31, 2005
    Date of Patent: February 2, 2010
    Assignee: International Business Machines Corporation
    Inventors: William Todd Boyd, John Lewis Hufferd, Agustin Mena, III, Renato J. Recio, Madeline Vega
  • Patent number: 7577761
    Abstract: Enabling user space middleware or applications to pass file name based storage requests directly to a physical I/O Adapter without run-time involvement from the local Operating System (OS)is provided. A mechanism is provided for using a file protection table (FPT) data structure, which may include a file name protection table (FNPT) and file extension protection table (FEPT), to control user space and out of user space Input/Output (I/O) operations. The FNPT has an entry for each file managed by the OS? file system and points to a segment of the FEPT. Each entry in the FEPT may include a protection domain, along with other protection table context information, against which I/O requests may be checked to determine if an application instance that submitted the I/O requests may access the file identified in the I/O requests.
    Type: Grant
    Filed: August 31, 2005
    Date of Patent: August 18, 2009
    Assignee: International Business Machines Corporation
    Inventors: William Todd Boyd, John Lewis Hufferd, Agustin Mena, III, Renato J. Recio, Madeline Vega
  • Patent number: 7552240
    Abstract: The present invention provides a method that enables application instances to pass block mode storage requests directly to a physical I/O adapter without run-time involvement from either the local operating system or hypervisor. In one aspect of the present invention, a mechanism is provided for determining whether a user space operation is a resource management operation of a work processing operation. If the user space operation is a resource management operation, appropriate functions are performed to either query, create, modify or destroy resource allocations in the I/O adapter. If the user space operation is a work processing operation, appropriate functions are performed to create work queue entries and inform the I/O adapter of the work queue entries and to retrieve completion queue entries for work queue entries whose processing has been completed by the I/O adapter.
    Type: Grant
    Filed: May 23, 2005
    Date of Patent: June 23, 2009
    Assignee: International Business Machines Corporation
    Inventors: William Todd Boyd, John Lewis Hufferd, Agustin Mena, III, Renato John Recio, Madeline Vega
  • Patent number: 7519650
    Abstract: A mechanism for offloading the management of send queues in a split socket stack environment, including efficient split socket queue flow control and TCP/IP retransmission support. As consumers initiate send operations, send work queue entries (SWQEs) are created by an Upper Layer Protocol (ULP) and written to the send work queue (SWQ). The Internet Protocol Suite Offload Engine (IPSOE) is notified of a new entry to the SWQ and it subsequently reads this entry that contains pointers to the data that is to be transmitted. After the data is transmitted and acknowledgments are received, the IPSOE creates a completion queue entry (CQE) that is written into the completion queue (CQ). After the CQE is written, the ULP subsequently processes the entry and removes it from the CQE, freeing up a space in both the SWQ and CQ. The number of entries available in the SWQ are monitored by the ULP so that it does not overwrite any valid entries.
    Type: Grant
    Filed: September 5, 2002
    Date of Patent: April 14, 2009
    Assignee: International Business Machines Corporation
    Inventors: William Todd Boyd, Jean L. Calvignac, Chih-Jen Chang, Douglas J. Joseph, Renato John Recio
  • Patent number: 7502872
    Abstract: The present invention provides a method that enables application instances to pass block mode storage requests directly to a physical I/O adapter without run-time involvement from the local operating system or hypervisor. Specifically, a mechanism for providing and using a linear block address (LBA) translation protection table (TPT) to control out of user space I/O operations is provided. In one aspect of the present invention, the LBATPT includes an adapter protection table that has entries for each portion of a storage device. Entries include access control values which identify whether the entry is valid and what access type operations may be performed on a corresponding portion of a storage device. I/O requests may be checked against these access control values to determine if an application instance that submitted the I/O requests may access the LBAs identified in the I/O requests in the manner requested.
    Type: Grant
    Filed: May 23, 2005
    Date of Patent: March 10, 2009
    Assignee: International Bsuiness Machines Corporation
    Inventors: William Todd Boyd, John Lewis Hufferd, Agustin Mena, III, Renato John Recio, Madeline Vega
  • Patent number: 7502871
    Abstract: The present invention provides a method, that enables application instances to pass block mode storage requests directly to a physical I/O adapter without run-time involvement from the local operating system or hypervisor. In one aspect of the present invention, a mechanism is provided for handling user space query and modification operations for querying and modifying attributes of allocations of linear block addresses of a physical storage device. For modification, it is determined if there are sufficient available resources for the modification of the allocation. In addition, it is determined if there are any 1/0 transactions active on the allocation before performing the modification. Modification of the attributes of the allocation may be performed only if there are sufficient available resources and only if there are no active I/O transactions on the allocation being modified.
    Type: Grant
    Filed: May 23, 2005
    Date of Patent: March 10, 2009
    Assignee: International Business Machines Corporation
    Inventors: William Todd Boyd, John Lewis Hufferd, Agustin Mena, III, Renato John Recio, Madeline Vega
  • Publication number: 20090064163
    Abstract: The present invention provides mechanisms that enable application instances to pass block mode storage requests directly to a physical I/O adapter without run-time involvement from the local operating system or hypervisor. In one aspect of the present invention, a mechanism is provided for handling user space creation and deletion operations for creating and deleting allocations of linear block addresses of a physical storage device to application instances. For creation, it is determined if there are sufficient available resources for creation of the allocation. For deletion, it is determined if there are any I/O transactions active on the allocation before performing the deletion. Allocation may be performed only if there are sufficient available resources and deletion may be performed only if there are no active I/O transactions on the allocation being deleted.
    Type: Application
    Filed: November 12, 2008
    Publication date: March 5, 2009
    Applicant: International Business Machines Corporation
    Inventors: William Todd Boyd, John Lewis Hufferd, Agustin Mena, III, Renato John Recio, Madeline Vega
  • Patent number: 7500071
    Abstract: A method that enables user space middleware or applications to pass I/O storage requests directly to a network attached storage device via a storage server that performs authentication is provided. A mechanism is provided for using a translation protection table (TPT) data structure, which may include a file name protection table (FNPT) and file extension protection table (FEPT), or logical volume protection table (LVPT), to control user space and out of user space Input/Output (I/O) operations. The storage server performs authentication of an application instance's request to open an operating system logical volume and, upon being authenticated, permits the application instance to submit I/O storage requests via the TPT to the opened OS logical volume. I/O storage requests are translated into storage commands using the TPT and the storage commands are encapsulated for transmission via one or more networks to the storage server.
    Type: Grant
    Filed: August 31, 2005
    Date of Patent: March 3, 2009
    Assignee: International Business Machines Corporation
    Inventors: William Todd Boyd, John Lewis Hufferd, Agustin Mena, III, Renato J. Recio, Madeline Vega
  • Patent number: 7464189
    Abstract: A method that enables application instances to pass block mode storage requests directly to a physical I/O adapter without run-time involvement from the local operating system or hypervisor is provided. In one aspect of the method, a mechanism is provided for handling user space creation and deletion operations for creating and deleting allocations of linear block addresses of a physical storage device to application instances. For creation, it is determined if there are sufficient available resources for creation of the allocation. For deletion, it is determined if there are any I/O transactions active on the allocation before performing the deletion. Allocation may be performed only if there are sufficient available resources and deletion may be performed only if there are no active I/O transactions on the allocation being deleted.
    Type: Grant
    Filed: May 23, 2005
    Date of Patent: December 9, 2008
    Assignee: International Business Machines Corporation
    Inventors: William Todd Boyd, John Lewis Hufferd, Agustin Mena, III, Renato John Recio, Madeline Vega
  • Patent number: 7299266
    Abstract: A method, computer program product, and distributed data processing system for memory management. Memory regions are registered and have access rights and Protection domains associated with them in response to receiving a request for a memory operation including a virtual address, which is used to address into a data structure. A second data structure is then used to translate the virtual address into physical addresses for the operation. A third data structure is used to allow an incoming request responsive to a remote operation being initiated.
    Type: Grant
    Filed: September 5, 2002
    Date of Patent: November 20, 2007
    Assignee: International Business Machines Corporation
    Inventors: William Todd Boyd, Douglas J. Joseph, Michael Anthony Ko, Renato John Recio
  • Patent number: 6823437
    Abstract: A method, computer program product, and distributed data processing system for lazy deregistration of memory regions. Specifically, the present invention is directed to memory regions that are written to and from by an Integrated Protocol Suite Offload Engine (IPSOE) in accordance with a preferred embodiment of the present invention. A mechanism is provided for lazy deregistration of memory regions once the region is no longer required for a specific data transfer being carried out by the IPSOE. Rather than deregistering a memory region after a data transfer has been carried out, the memory region remains registered for some selected period of time. After that selected period of time passes, the region is then deregistered. If a second data transfer using this memory region occurs while the memory region is still registered, the registration overhead is avoided for this second data transfer.
    Type: Grant
    Filed: July 11, 2002
    Date of Patent: November 23, 2004
    Assignee: International Business Machines Corporation
    Inventors: William Todd Boyd, Douglas J. Joseph, Renato John Recio
  • Patent number: 6735647
    Abstract: An apparatus and method for reordering data at a data destination is provided. The apparatus and method provides dynamic, adaptive management of receive buffers in a host channel adapter while recovering on the fly the order of data sent over a medium that does not preserve order. In an exemplary embodiment, the method and apparatus provides a method and apparatus of reordering data of a data transmission received from a source device. The method and apparatus receives, in a data transfer buffer, a data packet transmitted over a connection associated with the source device and determines if the connection requires reordering of data packets. If the connection requires reordering of data packets, the data packet is transferred from the data transfer buffer to a reorder buffer and a reorder state cache is updated to reflect the transfer of the data packet to the reorder buffer.
    Type: Grant
    Filed: September 5, 2002
    Date of Patent: May 11, 2004
    Assignee: International Business Machines Corporation
    Inventors: William Todd Boyd, Douglas J. Joseph, Renato John Recio
  • Patent number: 6721806
    Abstract: A method, computer program product, and distributed data processing system for supporting RNIC (RDMA enabled NIC) switchover and switchback are provided. Using the mechanism provided in the present invention when a planned or unplanned outage occurs on a primary RNIC, all outstanding connections are switched over to an alternate RNIC, and the alternate RNIC continues communication processing. Additionally, using the mechanism provided in the present invention, connections can also be switched back.
    Type: Grant
    Filed: September 5, 2002
    Date of Patent: April 13, 2004
    Assignee: International Business Machines Corporation
    Inventors: William Todd Boyd, Douglas J. Joseph, Michael Anthony Ko, Renato John Recio
  • Publication number: 20040049603
    Abstract: The present invention provides a method, computer program product, and distributed data processing system to allow the hardware mechanism of the Internet Protocol Suite Offload Engine (IPSOE) to interpret the iSCSI commands, process the iSCSI commands, and to interpret the iSCSI command completion results with the iSCSI driver. The distributed data processing system comprises endnodes, switches, routers, and links interconnecting the components. The endnodes use send and receive queue pairs to transmit and receive messages. The endnodes segment the message into frames and transmit the frames over the links. The switches and routers interconnect the endnodes and route the frames to the appropriate endnodes. The endnodes reassemble the frames into a message at the destination.
    Type: Application
    Filed: September 5, 2002
    Publication date: March 11, 2004
    Applicant: International Business Machines Corporation
    Inventors: William Todd Boyd, Douglas J. Joseph, Michael Anthony Ko, Renato John Recio
  • Publication number: 20040049600
    Abstract: A method, computer program product, and distributed data processing system for memory management. Memory regions are registered and have access rights and Protection domains associated with them in response to receiving a request for a memory operation including a virtual address, which is used to address into a data structure. A second data structure is then used to translate the virtual address into physical addresses for the operation. A third data structure is used to allow an incoming request responsive to a remote operation being initiated.
    Type: Application
    Filed: September 5, 2002
    Publication date: March 11, 2004
    Applicant: International Business Machines Corporation
    Inventors: William Todd Boyd, Douglas J. Joseph, Michael Anthony Ko, Renato John Recio
  • Publication number: 20040049601
    Abstract: A mechanism for offloading the management of send queues in a split socket stack environment, including efficient split socket queue flow control and TCP/IP retransmission support. As consumers initiate send operations, send work queue entries (SWQES) are created by an Upper Layer Protocol (ULP) and written to the send work queue (SWQ). The Internet Protocol Suite Offload Engine (IPSOE) is notified of a new entry to the SWQ and it subsequently reads this entry that contains pointers to the data that is to be transmitted. After the data is transmitted and acknowledgments are received, the IPSOE creates a completion queue entry (CQE) that is written into the completion queue (CQ). After the CQE is written, the ULP subsequently processes the entry and removes it from the CQE, freeing up a space in both the SWQ and CQ. The number of entries available in the SWQ are monitored by the ULP so that it does not overwrite any valid entries.
    Type: Application
    Filed: September 5, 2002
    Publication date: March 11, 2004
    Applicant: International Business Machines Corporation
    Inventors: William Todd Boyd, Jean L. Calvignac, Chih-Jen Chang, Douglas J. Joseph, Renato John Recio
  • Publication number: 20040049774
    Abstract: A method, computer program product, and distributed data processing system for supporting RNIC (RDMA enabled NIC) switchover and switchback are provided. Using the mechanism provided in the present invention when a planned or unplanned outage occurs on a primary RNIC, all outstanding connections are switched over to an alternate RNIC, and the alternate RNIC continues communication processing. Additionally, using the mechanism provided in the present invention, connections can also be switched back.
    Type: Application
    Filed: September 5, 2002
    Publication date: March 11, 2004
    Applicant: International Business Machines Corporation
    Inventors: William Todd Boyd, Douglas J. Joseph, Michael Anthony Ko, Renato John Recio