Patents by Inventor Faisal Masood

Faisal Masood 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).

  • Publication number: 20150317177
    Abstract: A new approach is proposed that contemplates systems and methods to support (live or quiesced) migration of virtual machines (VMs) accessing a set of remote storage devices over a network via non-volatile memory express (NVMe) controllers from a current host to a destination host. At the time of the VM migration, a first virtual NVMe controller running on a first physical NVMe controller enables a first VM running on the current host to access and perform a plurality of storage operations to one or more logical volumes mapped to the remote storage devices over the network as if they were local storage volumes. During the VM migration process, the current host puts the first virtual NVMe controller serving the first VM into a quiesce state, captures and saves an image of states of the first virtual NVMe controller on the first host.
    Type: Application
    Filed: November 10, 2014
    Publication date: November 5, 2015
    Inventors: Muhammad Raghib HUSSAIN, Vishal MURGAI, Manojkumar PANICKER, Faisal MASOOD, Brian FOLSOM, Richard Eugene KESSLER
  • Publication number: 20150319243
    Abstract: A new approach is proposed that contemplates systems and methods to support hot plugging and/or unplugging one or more of remote storage devices virtualized as extensible/flexible storages and NVMe namespace(s) via an NVMe controller during operation. First, the NVMe controller virtualizes and presents a set of remote storage devices to one or more VMs running on a host attached to the NVMe controller as logical volumes in the NVMe namespace(s) so that each of the VMs running on the host can access these remote storage devices to perform read/write operations as if they were local storage devices.
    Type: Application
    Filed: September 25, 2014
    Publication date: November 5, 2015
    Inventors: Muhammad Raghib HUSSAIN, Vishal MURGAI, Manojkumar PANICKER, Faisal MASOOD, Brian FOLSOM, Richard Eugene KESSLER
  • Publication number: 20150317088
    Abstract: A new approach is proposed that contemplates systems and methods to virtualize a physical NVMe controller associated with a computing device or host so that every virtual machine running on the host can have its own dedicated virtual NVMe controller. First, a plurality of virtual NVMe controllers are created on a single physical NVMe controller, which is associated with one or more storage devices. Once created, the plurality of virtual NVMe controllers are provided to VMs running on the host in place of the single physical NVMe controller attached to the host, and each of the virtual NVMe controllers organizes the storage units to be accessed by its corresponding VM as a logical volume. As a result, each of the VMs running on the host has its own namespace(s) and can access its storage devices directly through its own virtual NVMe controller.
    Type: Application
    Filed: May 16, 2014
    Publication date: November 5, 2015
    Applicant: CAVIUM, INC.
    Inventors: Muhammad Raghib HUSSAIN, Vishal MURGAI, Manojkumar PANICKER, Faisal MASOOD, Brian FOLSOM, Richard Eugene KESSLER
  • Publication number: 20150033222
    Abstract: A system includes a host computer executing virtual machines under the control of a hypervisor. A network interface card is coupled to the host machine. The network interface card implements a virtual switch with virtual ports. Each (one or more) virtual port is associated with a virtual machine. The network interface card may operate as a co-processor for the host computer by managing selected traffic flow policies, such as QoS and bandwidth provisioning on a per virtual machine basis.
    Type: Application
    Filed: July 25, 2013
    Publication date: January 29, 2015
    Applicant: CAVIUM, INC.
    Inventors: Muhammad Raghib Hussain, Vishal Murgai, Faisal Masood
  • Patent number: 7930349
    Abstract: A network application executing on a host system provides a list of application buffers in host memory stored in a queue to a network services processor coupled to the host system. The application buffers are used for storing data transferred on a socket established between the network application and a remote network application executing in a remote host system. Using the application buffers, data received by the network services processor over the network is transferred between the network services processor and the application buffers. After the transfer, a completion notification is written to one of the two control queues in the host system. The completion notification includes the size of the data transferred and an identifier associated with the socket. The identifier identifies a thread associated with the transferred data and the location of the data in the host system.
    Type: Grant
    Filed: October 6, 2009
    Date of Patent: April 19, 2011
    Assignee: Cavium Networks, Inc.
    Inventors: Muhammad R. Hussain, Richard E. Kessler, Faisal Masood, Robert A. Sanzone, Imran Badr
  • Publication number: 20100023626
    Abstract: A network application executing on a host system provides a list of application buffers in host memory stored in a queue to a network services processor coupled to the host system. The application buffers are used for storing data transferred on a socket established between the network application and a remote network application executing in a remote host system. Using the application buffers, data received by the network services processor over the network is transferred between the network services processor and the application buffers. After the transfer, a completion notification is written to one of the two control queues in the host system. The completion notification includes the size of the data transferred and an identifier associated with the socket. The identifier identifies a thread associated with the transferred data and the location of the data in the host system.
    Type: Application
    Filed: October 6, 2009
    Publication date: January 28, 2010
    Applicant: Cavium Networks, Inc.
    Inventors: Muhammad R. Hussain, Richard E. Kessler, Faisal Masood, Robert A. Sanzone, Imran Badr
  • Patent number: 7613813
    Abstract: A network application executing on a host system provides a list of application buffers in host memory stored in a queue to a network services processor coupled to the host system. The application buffers are used for storing data transferred on a socket established between the network application and a remote network application executing in a remote host system. Using the application buffers, data received by the network services processor over the network is transferred between the network services processor and the application buffers. After the transfer, a completion notification is written to one of the two control queues in the host system. The completion notification includes the size of the data transferred and an identifier associated with the socket. The identifier identifies a thread associated with the transferred data and the location of the data in the host system.
    Type: Grant
    Filed: September 12, 2005
    Date of Patent: November 3, 2009
    Assignee: Cavium Networks, Inc.
    Inventors: Muhammad R. Hussain, Richard E. Kessler, Faisal Masood, Robert A. Sanzone, Imran Badr
  • Patent number: 7535907
    Abstract: A network transport layer accelerator accelerates processing of packets so that packets can be forwarded at wire-speed. To accelerate processing of packets, the accelerator performs pre-processing on a network transport layer header encapsulated in a packet for a connection and performs in-line network transport layer checksum insertion prior to transmitting a packet. A timer unit in the accelerator schedules processing of the received packets. The accelerator also includes a free pool allocator which manages buffers for storing the received packets and a packet order unit which synchronizes processing of received packets for a same connection.
    Type: Grant
    Filed: September 2, 2005
    Date of Patent: May 19, 2009
    Assignee: Oavium Networks, Inc.
    Inventors: Muhammad R. Hussain, Imran Badr, Faisal Masood, Philip H. Dickinson, Richard E. Kessler, Daniel A. Katz, Michael S. Bertone, Robert A. Sanzone, Thomas F. Hummel, Gregg A. Bouchard
  • Publication number: 20060227811
    Abstract: A network transport layer accelerator accelerates processing of packets so that packets can be forwarded at wire-speed. To accelerate processing of packets, the accelerator performs pre-processing on a network transport layer header encapsulated in a packet for a connection and performs in-line network transport layer checksum insertion prior to transmitting a packet. A timer unit in the accelerator schedules processing of the received packets. The accelerator also includes a free pool allocator which manages buffers for storing the received packets and a packet order unit which synchronizes processing of received packets for a same connection.
    Type: Application
    Filed: September 2, 2005
    Publication date: October 12, 2006
    Inventors: Muhammad Hussain, Imran Badr, Faisal Masood, Philip Dickinson, Richard Kessler, Daniel Katz, Michael Bertone, Robert Sanzone, Thomas Hummel, Gregg Bouchard
  • Publication number: 20060075119
    Abstract: A network application executing on a host system provides a list of application buffers in host memory stored in a queue to a network services processor coupled to the host system. The application buffers are used for storing data transferred on a socket established between the network application and a remote network application executing in a remote host system. Using the application buffers, data received by the network services processor over the network is transferred between the network services processor and the application buffers. After the transfer, a completion notification is written to one of the two control queues in the host system. The completion notification includes the size of the data transferred and an identifier associated with the socket. The identifier identifies a thread associated with the transferred data and the location of the data in the host system.
    Type: Application
    Filed: September 12, 2005
    Publication date: April 6, 2006
    Inventors: Muhammad Hussain, Richard Kessler, Faisal Masood, Robert Sanzone, Imran Badr