Patents by Inventor Michael B. Galles
Michael B. Galles 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: 11494189Abstract: Methods and system for processing data in a programmable processing pipeline are disclosed. In an embodiment, a method for processing packets in a programmable packet processing pipeline is disclosed. The method involves processing data corresponding to a packet through a match-action pipeline of a programmable packet processing pipeline, and diverting the processing of data corresponding to the packet from the match-action pipeline to a processor core for out-of-pipeline processing.Type: GrantFiled: February 21, 2020Date of Patent: November 8, 2022Assignee: Pensando Systems Inc.Inventors: Diego Crupnicoff, Michael B. Galles
-
Patent number: 11275669Abstract: Methods and systems for managing statistics in an I/O system are disclosed. Embodiments of the present technology may include a method for managing statistical data at an I/O system, the method including reading a statistic record from an array of statistic records according to a write request that is held in a register of a register interface. In some embodiments, the write request includes a data element. In some embodiments, the array of statistic records is stored in random access memory (RAM).Type: GrantFiled: July 9, 2020Date of Patent: March 15, 2022Assignee: Pensando Systems, Inc.Inventor: Michael B. Galles
-
Patent number: 11249805Abstract: Methods and systems for memory resource allocation are disclosed. In an embodiment, a method for memory resource allocation involves reading a pool-specific configuration record from an array of memory mapped pool-specific configuration records according to a memory resource allocation request that is held in an address register of a memory mapped register interface, performing a memory resource allocation operation to service the memory resource allocation request, wherein performing the memory resource allocation operation involves interacting with a resource list according to a pointer in the pool-specific configuration record, advancing the pointer after the interaction, and updating the pointer in the pool-specific configuration record with the advanced pointer.Type: GrantFiled: May 26, 2020Date of Patent: February 15, 2022Assignee: Pensando Systems, Inc.Inventors: Michael B. Galles, Alessandro Fulli, Sameer Kittur Subrahmanya
-
Publication number: 20220012156Abstract: Methods and systems for managing statistics in an I/O system are disclosed. Embodiments of the present technology may include a method for managing statistical data at an I/O system, the method including reading a statistic record from an array of statistic records according to a write request that is held in a register of a register interface. In some embodiments, the write request includes a data element. In some embodiments, the array of statistic records is stored in random access memory (RAM).Type: ApplicationFiled: July 9, 2020Publication date: January 13, 2022Inventor: Michael B. GALLES
-
Publication number: 20210373955Abstract: Methods and systems for memory resource allocation are disclosed. In an embodiment, a method for memory resource allocation involves reading a pool-specific configuration record from an array of memory mapped pool-specific configuration records according to a memory resource allocation request that is held in an address register of a memory mapped register interface, performing a memory resource allocation operation to service the memory resource allocation request, wherein performing the memory resource allocation operation involves interacting with a resource list according to a pointer in the pool-specific configuration record, advancing the pointer after the interaction, and updating the pointer in the pool-specific configuration record with the advanced pointer.Type: ApplicationFiled: May 26, 2020Publication date: December 2, 2021Inventors: Michael B. GALLES, Alessandro FULLI, Sameer Kittur SUBRAHMANYA
-
Publication number: 20210263744Abstract: Methods and system for processing data in a programmable processing pipeline are disclosed. In an embodiment, a method for processing packets in a programmable packet processing pipeline is disclosed. The method involves processing data corresponding to a packet through a match-action pipeline of a programmable packet processing pipeline, and diverting the processing of data corresponding to the packet from the match-action pipeline to a processor core for out-of-pipeline processing.Type: ApplicationFiled: February 21, 2020Publication date: August 26, 2021Inventors: Diego CRUPNICOFF, Michael B. GALLES
-
Publication number: 20160173600Abstract: A method is provided in one example embodiment and includes receiving at an interface controller associated with a host server and disposed between the host server and a network element a packet from a sender; processing the packet to identify a rewrite rule to be applied to the packet based on characteristics of the packet; applying the identified rewrite rule to the packet to generate a rewritten packet; and forwarding the rewritten packet toward a next hop. The processing may include classifying the packet, the classifying including identifying at least one of a type of traffic with which the packet is associated and an application with which the packet is associated. Additionally and/or alternatively, the processing may include performing a flow table lookup for the packet to identify a flow with which the packet is associated.Type: ApplicationFiled: December 15, 2014Publication date: June 16, 2016Applicant: CISCO TECHNOLOGY, INC.Inventors: Michael B. Galles, David A. Clear
-
Patent number: 9152593Abstract: Methods and systems are disclosed herein for providing a universal PCIe port. In one example, the same port is configured to accept a PCIe connection as a host or an endpoint symmetrically. Downstream transactions towards an endpoint can be intercepted and a virtual address in the downstream transaction can be translated to a local address using a mapping. The downstream transactions can be forwarded to the endpoint using the local address instead of the virtual address. For endpoints that share the same local address with multiple hosts, a reverse lookup may be provided to determine which one of the hosts a local address corresponds when forwarding upstream transactions. PCIe over Ethernet is provided as one embodiment for allowing remote PCIe endpoints to be associated with a local host transparently.Type: GrantFiled: September 6, 2013Date of Patent: October 6, 2015Assignee: CISCO TECHNOLOGY, INC.Inventor: Michael B. Galles
-
Patent number: 9152591Abstract: Methods and systems are disclosed herein for providing a universal PCIe port. The same port can be configured to accept a PCIe component as a host or an endpoint (device) symmetrically. The PCIe port can be connected to the host interface or the root complex interface if the PCIe connection is to be configured as a host or an endpoint, respectively. A virtual topology can be provided for a host that associates the host with corresponding endpoints. A mapping between virtual addresses of the corresponding endpoints in the virtual topology and local addresses of the corresponding endpoints is provided.Type: GrantFiled: September 6, 2013Date of Patent: October 6, 2015Assignee: CISCO TECHNOLOGYInventors: Michael B. Galles, Hemant M. Vinchure
-
Patent number: 9152592Abstract: Methods and systems are disclosed herein for providing a universal PCIe port. In one example, the same port is configured to accept a PCIe connection as a host or an endpoint symmetrically. Downstream transactions towards an endpoint can be intercepted and a virtual address in the downstream transaction can be translated to a local address using a mapping. The downstream transactions can be forwarded to the endpoint using the local address instead of the virtual address. For endpoints that share the same local address with multiple hosts, a reverse lookup may be provided to determine which one of the hosts a local address corresponds when forwarding upstream transactions. PCIe over Ethernet is provided as one embodiment for allowing remote PCIe endpoints to be associated with a local host transparently.Type: GrantFiled: September 6, 2013Date of Patent: October 6, 2015Assignee: CISCO TECHNOLOGY, INC.Inventors: Michael B. Galles, Hemant M. Vinchure
-
Patent number: 9124541Abstract: Techniques are provided for zero copy accelerated processing of packets received at a network device according to a session oriented protocol. Each packet comprises a header field and a payload field. Data in the header field of a byte is evaluated to determine whether a sequence number in the header field is equal to an expected sequence number for a given flow of packets. When the sequence number in the header field is equal to the expected sequence number, header data from the header field is stored in a header ring comprising a plurality of socket buffers and payload data is directed to an application buffer pool according to a pointer in a streaming data ring. When the sequence number in the header field is not equal to the expected sequence number, the header data and the payload data are stored in the header ring.Type: GrantFiled: June 30, 2011Date of Patent: September 1, 2015Assignee: Cisco Technology, Inc.Inventors: Shrijeet Mukherjee, David S. Feldman, Michael B. Galles
-
Patent number: 9019978Abstract: A notification from a source host is received at a network interface device that indicates that a data packet is ready for transmission to a destination host. The data packet may be transmitted to the destination host via the network interface device, and a first completion queue event is generated. The first completion queue event may be used as a trigger to re-transmit the data packet to a port mirroring destination via the network interface device. In another example, a network interface device receives a data packet transmitted from a source host to a destination host. A first completion queue event is generated based on the receipt of the packet, and is used as a trigger to re-transmit the data packet to a port mirroring destination via the network interface device.Type: GrantFiled: October 5, 2012Date of Patent: April 28, 2015Assignee: Cisco Technology, Inc.Inventors: Michael B. Galles, Cesare Cantu, Anant Deepak
-
Publication number: 20150074322Abstract: Methods and systems are disclosed herein for providing a universal PCIe port. In one example, the same port is configured to accept a PCIe connection as a host or an endpoint symmetrically. Downstream transactions towards an endpoint can be intercepted and a virtual address in the downstream transaction can be translated to a local address using a mapping. The downstream transactions can be forwarded to the endpoint using the local address instead of the virtual address. For endpoints that share the same local address with multiple hosts, a reverse lookup may be provided to determine which one of the hosts a local address corresponds when forwarding upstream transactions. PCIe over Ethernet is provided as one embodiment for allowing remote PCIe endpoints to be associated with a local host transparently.Type: ApplicationFiled: September 6, 2013Publication date: March 12, 2015Applicant: CISCO TECHNOLOGY, INC.Inventor: Michael B. Galles
-
Publication number: 20150074321Abstract: Methods and systems are disclosed herein for providing a universal PCIe port. In one example, the same port is configured to accept a PCIe connection as a host or an endpoint symmetrically. Downstream transactions towards an endpoint can be intercepted and a virtual address in the downstream transaction can be translated to a local address using a mapping. The downstream transactions can be forwarded to the endpoint using the local address instead of the virtual address. For endpoints that share the same local address with multiple hosts, a reverse lookup may be provided to determine which one of the hosts a local address corresponds when forwarding upstream transactions. PCIe over Ethernet is provided as one embodiment for allowing remote PCIe endpoints to be associated with a local host transparently.Type: ApplicationFiled: September 6, 2013Publication date: March 12, 2015Applicant: CISCO TECHNOLOGY, INC.Inventors: Michael B. Galles, Hemant M. Vinchure
-
Publication number: 20150074320Abstract: Methods and systems are disclosed herein for providing a universal PCIe port. The same port can be configured to accept a PCIe component as a host or an endpoint (device) symmetrically. The PCIe port can be connected to the host interface or the root complex interface if the PCIe connection is to be configured as a host or an endpoint, respectively. A virtual topology can be provided for a host that associates the host with corresponding endpoints. A mapping between virtual addresses of the corresponding endpoints in the virtual topology and local addresses of the corresponding endpoints is provided.Type: ApplicationFiled: September 6, 2013Publication date: March 12, 2015Applicant: CISCO TECHNOLOGY, INC.Inventors: Michael B. Galles, Hemant M. Vinchure
-
Patent number: 8972611Abstract: An input/output (IO) device for connecting multiple servers to one or more network interfaces. The device includes a network connection module comprising one or more network interfaces, and a virtual host interface configured to enable communication with a plurality of host servers. The device includes IO controller configured to connect each of the host servers to one or more of the network interfaces such that the connections between each host server and corresponding one or more network interfaces are operationally isolated and independent from one another.Type: GrantFiled: August 11, 2011Date of Patent: March 3, 2015Assignee: Cisco Technology, Inc.Inventors: Michael B. Galles, Subbarao Arumilli
-
Patent number: 8904032Abstract: The size and location of an envelope of a data block are included in the posting to a second device of a descriptor list entry for the data block, thus allowing the second device to read the data block without having to first read the descriptor list entry. This envelope may be the same size and location of the data block, or this envelope may be larger than the data block. For example, as the size of the posted register may not be large enough to also store all of the bits required to specify the exact size and position of the data block, a larger data block envelope is defined without specifying the exact low order bits of the size and/or location of the data block envelope.Type: GrantFiled: May 26, 2009Date of Patent: December 2, 2014Assignee: Cisco Technology, Inc.Inventor: Michael B. Galles
-
Patent number: 8804747Abstract: In one embodiment a method and apparatus that support virtual services including virtual network interface control functionality for virtual machines running on a server. A method includes receiving a packet at a network interface card from a data communication network, classifying, within the network interface card, the packet to select one of multiple flow tables to which the packet should be assigned to obtain a selected flow table, the classifying being based, at least, on a logical interface with which the packet is associated, processing the packet based on information stored in the selected flow table, and passing the packet to a virtual machine operating on a computer to which the network interface card is communicatively connected, the virtual machine being associated with the logical interface.Type: GrantFiled: September 23, 2010Date of Patent: August 12, 2014Assignee: Cisco Technology, Inc.Inventors: Michael B. Galles, Elango Ganesan, Michael Freed, Lawrence R. Kreeger
-
Patent number: 8788873Abstract: A failover input/output device and corresponding method are provided to manage failover events of input/output controller devices that operate in accordance with a computer expansion card standard, such as the Peripheral Component Interconnect Express (PCIe) standard. The failover input/output device connects to redundant first and second virtualized input/output controller devices each comprising multiple virtual network interfaces that are in an active or standby state at any given time, and to a computing device that hosts one or more processes. The failover input/output device broadcasts transactions in accordance with the computer expansion card standard initiated from the computing device to the first and second virtualized input/output controller devices.Type: GrantFiled: April 14, 2011Date of Patent: July 22, 2014Assignee: Cisco Technology, Inc.Inventors: Michael B. Galles, Luca Cafiero
-
Publication number: 20140098822Abstract: A notification from a source host is received at a network interface device that indicates that a data packet is ready for transmission to a destination host. The data packet may be transmitted to the destination host via the network interface device, and a first completion queue event is generated. The first completion queue event may be used as a trigger to re-transmit the data packet to a port mirroring destination via the network interface device. In another example, a network interface device receives a data packet transmitted from a source host to a destination host. A first completion queue event is generated based on the receipt of the packet, and is used as a trigger to re-transmit the data packet to a port mirroring destination via the network interface device.Type: ApplicationFiled: October 5, 2012Publication date: April 10, 2014Applicant: CISCO TECHNOLOGY, INC.Inventors: Michael B. Galles, Cesare Cantu, Anant Deepak