Patents by Inventor John Hufferd

John Hufferd 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: 8108454
    Abstract: A method of initializing a Fiber Channel over Ethernet (FCoE) link between a Fiber Channel over Ethernet node (ENode) and Fiber Channel Forwarders (FCFs) in a network by discovering the presence of FCFs available to the ENode and other FCFs, assigning second MAC addresses to the ENode corresponding to each available FCF, and converting from a management and initialization process using the first MAC address to normal Fiber Channel operation using the second MAC addresses. The implementations described herein may additionally distinguish management and initialization processes from normal Fiber Channel operation using separate Ethertypes.
    Type: Grant
    Filed: December 17, 2008
    Date of Patent: January 31, 2012
    Assignee: Brocade Communications Systems, Inc.
    Inventors: Robert Norman Snively, Sandra Snively, legal representative, Ezio Valdevit, Suresh Vobbilisetty, John Hufferd, Glenn Charles Wenig, Boris Zemlyak, Anoop Ghanwani
  • Publication number: 20090292813
    Abstract: A method of initializing a Fibre Channel over Ethernet (FCoE) link between a Fibre Channel over Ethernet node (ENode) and Fibre Channel Forwarders (FCFs) in a network by discovering the presence of FCFs available to the ENode and other FCFs, assigning second MAC addresses to the ENode corresponding to each available FCF, and converting from a management and initialization process using the first MAC address to normal Fibre Channel operation using the second MAC addresses. The implementations described herein may additionally distinguish management and initialization processes from normal Fibre Channel operation using separate Ethertypes.
    Type: Application
    Filed: December 17, 2008
    Publication date: November 26, 2009
    Applicant: Brocade Communications Systems, Inc.
    Inventors: Robert Norman Snively, Ezio Valdevit, Suresh Vobbilisetty, John Hufferd, Glenn Charles Wenig, Boris Zemlyak, Anoop Ghanwani, Sandra Snively
  • Patent number: 7523341
    Abstract: Provided are methods, apparatus and computer programs for recovery from failures affecting a server in a data processing environment in which a set of servers controls a client's access to a set of resource instances. Independent of any server failure, the client or a gateway is provided with an identification of both a primary server for accessing the resource and at least one secondary server for use as a backup server for accessing the same resource instance (for example, the same physical storage disk). The client or gateway connects to the primary server to perform resource access operations. Following a failure that affects availability of the primary server, the client or gateway connects to the previously identified secondary server to access the same resource instance. Provision of the identification of at least one backup secondary server (without requiring the ‘trigger’ of a failure) avoids the need to discover a new server as part of the recovery operation following a failure.
    Type: Grant
    Filed: May 13, 2004
    Date of Patent: April 21, 2009
    Assignee: International Business Machines Corporation
    Inventors: John Hufferd, Kalman Z. Meth, Julian Satran
  • Publication number: 20070168567
    Abstract: A system, method, and computer program product 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) are 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. In addition, a doorbell message and processing queue mechanism are provided for notifying the I/O adapter of work requests to be processed by the I/O adapter.
    Type: Application
    Filed: August 31, 2005
    Publication date: July 19, 2007
    Inventors: William Boyd, John Hufferd, Agustin Mena,, Renato Recio, Madeline Vega
  • Publication number: 20070078892
    Abstract: A system, method, and computer program product 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) are 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. 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: Application
    Filed: August 31, 2005
    Publication date: April 5, 2007
    Inventors: William Boyd, John Hufferd, Agustin Mena, Renato Recio, Madeline Vega
  • Publication number: 20070061493
    Abstract: A system, method, and computer program product 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) are 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: Application
    Filed: August 31, 2005
    Publication date: March 15, 2007
    Inventors: William Boyd, John Hufferd, Agustin Mena, Renato Recio, Madeline Vega
  • Publication number: 20070050591
    Abstract: A system, method, and computer program product 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 are 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: Application
    Filed: August 31, 2005
    Publication date: March 1, 2007
    Inventors: William Boyd, John Hufferd, Agustin Mena, Renato Recio, Madeline Vega
  • Publication number: 20070005815
    Abstract: The present invention provides a system, method, and computer program product 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 and a corresponding LBA table having entries for identifying the linear block addresses associated with an adapter protection table entry. Table entries are correlated with one another using an LBA table pointer. Adapter protection table entries are associated with application instances using a key instance.
    Type: Application
    Filed: May 23, 2005
    Publication date: January 4, 2007
    Inventors: William Boyd, John Hufferd, Agustin Mena, Renato Recio, Madeline Vega
  • Publication number: 20060288125
    Abstract: The present invention provides a system, method, and computer program product 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 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 either create work queue entries and inform the I/O adapter of the work queue entries or to retrieve completion queue entries for work queue entries whose processing has been completed by the I/O adapter.
    Type: Application
    Filed: May 23, 2005
    Publication date: December 21, 2006
    Inventors: William Boyd, John Hufferd, Agustin Mena, Renato Recio, Madeline Vega
  • Publication number: 20060265521
    Abstract: The present invention provides a system, method, and computer program product 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 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: May 23, 2005
    Publication date: November 23, 2006
    Inventors: William Boyd, John Hufferd, Agustin Mena, Renato Recio, Madeline Vega
  • Publication number: 20060265561
    Abstract: The present invention provides a system, method, and computer program product 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: Application
    Filed: May 23, 2005
    Publication date: November 23, 2006
    Inventors: William Boyd, John Hufferd, Agustin Mena, Renato Recio, Madeline Vega
  • Publication number: 20060265525
    Abstract: The present invention provides a system, method, and computer program product that enables user space middleware or applications to pass block mode storage requests directly to a physical I/O Adapter without run-time involvement from the local Operating System (OS), or, in a virtual system, the local Hypervisor. Specifically, the present invention is directed to a mechanism for providing and using a linear block address (LBA) translation protection table (TPT) to control user space and out of user space Input/Output (I/O) operations. In one aspect of the present invention, the LBATPT includes an adapter protection table that has entries for each portion of a storage device. Each entry may include a key instance and 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 LBAs identified in the I/O requests.
    Type: Application
    Filed: May 23, 2005
    Publication date: November 23, 2006
    Inventors: William Boyd, John Hufferd, Agustin Mena, Renato Recio, Madeline Vega
  • Publication number: 20060265522
    Abstract: The present invention provides a system, method, and computer program product 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 I/O 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: Application
    Filed: May 23, 2005
    Publication date: November 23, 2006
    Inventors: William Boyd, John Hufferd, Agustin Mena, Renato Recio, Madeline Vega
  • Publication number: 20060218316
    Abstract: A method, computer program product, and a data processing system for posting and retrieving WQEs to a shared receive queue in a manner that alleviates head-of-line blocking issues is provided. The present invention provides a shared receive queue and a posting routine for allowing non-sequential work request postings in the shared receive queue. Additionally, a fetch routine is provided for non-sequential fetching of work queue elements from the shared receive queue.
    Type: Application
    Filed: March 22, 2005
    Publication date: September 28, 2006
    Applicant: International Business Machines Corporation
    Inventors: Giora Biran, John Hufferd, Zorik Machulsky, Vadim Makhervaks, Renato Recio
  • Publication number: 20060013251
    Abstract: Provided are a method, system, and program performed at a local node to communicate with a remote node. A first communication protocol is used to communicate with the remote node to establish a connection for a second communication protocol. Data structures are created to enable communication with the remote node to establish the connection with the remote node for the second communication protocol. An extension layer is invoked for the second communication protocol. The data structures are passed to the extension layer to use to communicate with the remote node using the second communication protocol.
    Type: Application
    Filed: July 16, 2004
    Publication date: January 19, 2006
    Inventor: John Hufferd
  • Publication number: 20060013253
    Abstract: Provided are a method, system, and program for forwarding a message from a transmitting node. A first message is received encoded using a first communication protocol from the transmitting node, wherein the first message includes a direct reference to a memory location in one node. A determination is made as to whether the first message is directed to a receiving node using a second communication protocol. A second message is generated that is compatible with the second communication protocol, wherein the second message causes an operation to be performed with respect to the direct reference in the first message. The second message is transmitted to the receiving node.
    Type: Application
    Filed: July 16, 2004
    Publication date: January 19, 2006
    Inventor: John Hufferd
  • Publication number: 20050273645
    Abstract: Methods for recovery from server-failures wherein servers control a communication initiator's access to a set of resources. A probable server failure leads to a communication initiator performing a discovery operation to identify available servers capable of accessing a required resource. A server checks whether any of the servers has failed. If a server has failed, a server other than the failed server sends the communication initiator an identification of the failed server together with a network address of an identified available server. The identified available server configures itself to respond to resource access requests directed to the failed server. The communication initiator establishes a connection to an available server enabling access to the required resource. The available server uses initiator-provided elements to recreate a reservation identifier, so that replacing server can also manage resources that were reserved by the failed server at the time of its failure.
    Type: Application
    Filed: May 5, 2005
    Publication date: December 8, 2005
    Applicant: International Business Machines Corporation
    Inventors: Julian Satran, John Hufferd, Kalman Meht
  • Publication number: 20050268145
    Abstract: Provided are methods, apparatus and computer programs for recovery from failures affecting a server in a data processing environment in which a set of servers controls a client's access to a set of resource instances. Independent of any server failure, the client or a gateway is provided with an identification of both a primary server for accessing the resource and at least one secondary server for use as a backup server for accessing the same resource instance (for example, the same physical storage disk). The client or gateway connects to the primary server to perform resource access operations. Following a failure that affects availability of the primary server, the client or gateway connects to the previously identified secondary server to access the same resource instance. Provision of the identification of at least one backup secondary server (without requiring the ‘trigger’ of a failure) avoids the need to discover a new server as part of the recovery operation following a failure.
    Type: Application
    Filed: May 13, 2004
    Publication date: December 1, 2005
    Applicant: International Business Machines Corporation
    Inventors: John Hufferd, Kalman Meth, Julian Satran
  • Publication number: 20050240941
    Abstract: Provided are a method, system, and program for transferring data between an initiator node and target node. A request is received conforming to a first data transfer protocol at the initiator node to transmit to the target node. A reference to a memory location is obtained to use to transfer the request to the target node. At least one function is called that executes in a user address space of the initiator node, wherein the initiator node includes a kernel address space and the user address space. The at least one function executing in the user address space interfaces with an adaptor to transmit the request and reference to the memory location to the target node using a second data transfer protocol.
    Type: Application
    Filed: April 21, 2004
    Publication date: October 27, 2005
    Inventors: John Hufferd, Michael Ko
  • Publication number: 20050240678
    Abstract: Provided are a method, system, and program for communicating data transfer requests between data transfer protocols A request is received conforming to a first data transfer protocol at an initiator node to transmit to a target node, wherein the request includes a request identifier in the first data transfer protocol. A reference is obtained to a memory location to use for the request using a second data transfer protocol, wherein the reference is used by the second data transfer protocol. An entry is added to a map associating the reference to the memory location for the second data transfer protocol with the request identifier for the first data transfer protocol. The second data transfer protocol is used to transfer the request with the request identifier and the reference to the memory location.
    Type: Application
    Filed: April 21, 2004
    Publication date: October 27, 2005
    Inventors: John Hufferd, Michael Ko