Patents by Inventor Sagar Borikar

Sagar Borikar 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: 20200296049
    Abstract: A method is provided by which a network adapter device receives a packet sent over a network from a peer, the packet including an enqueue timestamp indicating when the packet has been enqueued at the network adapter device. The network adapter device parses a header of the packet to detect whether the header includes bits indicating that the peer device is experiencing congestion, and obtains packet metadata of the packet and the enqueue timestamp of the packet. The network adapter device compares the packet metadata with information in a flow table to identify an entry in the flow table corresponding to a flow to which the packet metadata matches. The network adapter device sets a timer associated with the flow, the timer for use in scheduling transmission of a next packet provided by the host to be sent to the peer.
    Type: Application
    Filed: May 29, 2020
    Publication date: September 17, 2020
    Inventors: Sagar Borikar, John William Marshall
  • Publication number: 20200278935
    Abstract: Systems and methods provide for optimizing utilization of an Address Translation Cache (ATC). A network interface controller (NIC) can write information reserving one or more cache lines in a first level of the ATC to a second level of the ATC. The NIC can receive a request for a direct memory access (DMA) to an untranslated address in memory of a host computing system. The NIC can determine that the untranslated address is not cached in the first level of the ATC. The NIC can identify a selected cache line in the first level of the ATC to evict using the request and the second level of the ATC. The NIC can receive a translated address for the untranslated address. The NIC can cache the untranslated address in the selected cache line. The NIC can perform the DMA using the translated address.
    Type: Application
    Filed: March 1, 2019
    Publication date: September 3, 2020
    Inventors: Sagar Borikar, Ravikiran Kaidala Lakshman
  • Publication number: 20200201799
    Abstract: An example method for facilitating policy-driven storage in a microserver computing environment is provided and includes receiving, at an input/output (I/O) adapter in a microserver chassis having a plurality of compute nodes and a shared storage resource, policy contexts prescribing storage access parameters of respective compute nodes and enforcing the respective policy contexts on I/O operations by the compute nodes, in which respect a particular I/O operation by any compute node is not executed if the respective policy context does not allow the particular I/O operation. The method further includes allocating tokens to command descriptors associated with I/O operations for accessing the shared storage resource, identifying a violation of any policy context of any compute node based on availability of the tokens, and throttling I/O operations by other compute nodes until the violation disappears.
    Type: Application
    Filed: February 28, 2020
    Publication date: June 25, 2020
    Inventors: Prabhath Sajeepa, Sagar Borikar
  • Publication number: 20200097212
    Abstract: Presented herein are methodologies for increasing effective throughput on a network. A method includes receiving a command request via a communication bus, the command request including a command ID, determining, based on the command ID, whether data in the command request is to be joined with data from other command requests having the same command ID, when it is determined, based on the command ID, that the data in the command request is to be joined with other data from other command requests having the same command ID, writing the data to a selected buffer in which the other data is already stored, and causing the data and the other data in the buffer to be sent as a payload of a single packet across a communications fabric.
    Type: Application
    Filed: September 24, 2018
    Publication date: March 26, 2020
    Inventors: Ravikiran Kaidala Lakshman, Deepak Srinivas Mayya, Tanjore K. Suresh, David S. Walker, Sagar Borikar, Shrikant Vaidya
  • Patent number: 10585830
    Abstract: An example method for facilitating policy-driven storage in a microserver computing environment is provided and includes receiving, at an input/output (I/O) adapter in a microserver chassis having a plurality of compute nodes and a shared storage resource, policy contexts prescribing storage access parameters of respective compute nodes and enforcing the respective policy contexts on I/O operations by the compute nodes, in which respect a particular I/O operation by any compute node is not executed if the respective policy context does not allow the particular I/O operation. The method further includes allocating tokens to command descriptors associated with I/O operations for accessing the shared storage resource, identifying a violation of any policy context of any compute node based on availability of the tokens, and throttling I/O operations by other compute nodes until the violation disappears.
    Type: Grant
    Filed: January 12, 2018
    Date of Patent: March 10, 2020
    Assignee: CISCO TECHNOLOGY, INC.
    Inventors: Prabhath Sajeepa, Sagar Borikar
  • Publication number: 20200021532
    Abstract: A method is provided by which a network adapter device receives a packet sent over a network from a peer, the packet including an enqueue timestamp indicating when the packet has been enqueued at the network adapter device. The network adapter device parses a header of the packet to detect whether the header includes bits indicating that the peer device is experiencing congestion, and obtains packet metadata of the packet and the enqueue timestamp of the packet. The network adapter device compares the packet metadata with information in a flow table to identify an entry in the flow table corresponding to a flow to which the packet metadata matches. The network adapter device sets a timer associated with the flow, the timer for use in scheduling transmission of a next packet provided by the host to be sent to the peer.
    Type: Application
    Filed: July 10, 2018
    Publication date: January 16, 2020
    Inventors: Sagar Borikar, John William Marshall
  • Publication number: 20190370216
    Abstract: An example method for facilitating remote memory access with memory mapped addressing among multiple compute nodes is executed at an input/output (IO) adapter in communication with the compute nodes over a Peripheral Component Interconnect Express (PCIE) bus, the method including: receiving a memory request from a first compute node to permit access by a second compute node to a local memory region of the first compute node; generating a remap window region in a memory element of the IO adapter, the remap window region corresponding to a base address register (BAR) of the second compute node; and configuring the remap window region to point to the local memory region of the first compute node, wherein access by the second compute node to the BAR corresponding with the remap window region results in direct access of the local memory region of the first compute node by the second compute node.
    Type: Application
    Filed: August 16, 2019
    Publication date: December 5, 2019
    Inventor: Sagar Borikar
  • Patent number: 10333865
    Abstract: An example method for transformation of Peripheral Component Interconnect Express (PCIe) compliant virtual devices in a server in a network environment is provided and includes receiving, during runtime of the server, a request to change a first configuration of a PCIe compliant virtual device to a different second configuration, identifying a bridge on a PCIe topology below which the virtual device is located, issuing a simulated secondary bus reset to the bridge, the virtual device being reconfigured according to the change in configuration after the simulated secondary bus reset is issued, re-enumerating below the bridge after the change in configuration completes without rebooting the server, and updating the PCI topology with the virtual device in the second configuration. A virtual interface card adapter traps the simulated secondary bus reset, removes the virtual device from the PCI topology, and reconfigures the virtual device from the first configuration to the second configuration.
    Type: Grant
    Filed: August 21, 2015
    Date of Patent: June 25, 2019
    Assignee: CISCO TECHNOLOGY, INC.
    Inventors: Sagar Borikar, Prabhath Sajeepa
  • Publication number: 20180335971
    Abstract: Presented herein are techniques for virtualizing functions of a Non-Volatile Memory Express (NVMe) controller that manages access to non-volatile memory such as a solid state drive. An example method includes receiving, at a Peripheral Component Interconnect Express (PCIe) interface card that is in communication with a PCIe bus, configuration information for virtual interfaces that support a non-volatile memory express interface protocol, wherein the virtual interfaces virtualize a NVMe controller, configuring the virtual interfaces in accordance with the configuration information, presenting the virtual interfaces to the PCIe bus, and receiving, by at least one of the virtual interfaces, from a host in communication with the at least one of the virtual interfaces via the PCIe bus, a message for a queue of the at least one of the virtual interfaces that is mapped to a queue of the non-volatile memory express controller.
    Type: Application
    Filed: May 16, 2017
    Publication date: November 22, 2018
    Inventor: Sagar Borikar
  • Patent number: 10114792
    Abstract: An example method for facilitating low latency remote direct memory access (RDMA) for microservers is provided and includes generating queue pair (QPs) in a memory of an input/output (I/O) adapter of a microserver chassis having a plurality of compute nodes executing thereon, the QPs being associated with a remote direct memory access (RDMA) connection between a first compute node and a second compute node in the microserver chassis, setting a flag in the QPs to indicate that the RDMA connection is local to the microserver chassis, and performing a loopback of RDMA packets within the I/O adapter from one memory region in the I/O adapter associated with the first compute node of the RDMA connection to another memory region in the I/O adapter associated with the second compute node of the RDMA connection.
    Type: Grant
    Filed: September 14, 2015
    Date of Patent: October 30, 2018
    Assignee: CISCO TECHNOLOGY, INC
    Inventors: Prabhath Sajeepa, Sagar Borikar
  • Patent number: 10114764
    Abstract: An example method for facilitating multi-level paging and address translation in a network environment is provided and includes receiving a request for memory in a physical memory of a network element, associating the request with a first virtual address space, mapping a memory region located in the physical memory to a first window in the first virtual address space, the memory region being also mapped to a second window in a different, second virtual address space, remapping the first window in the first virtual address space to the second window in the second virtual address space, and responding to the request with addresses of the second window in the second virtual address space.
    Type: Grant
    Filed: March 2, 2018
    Date of Patent: October 30, 2018
    Assignee: CISCO TECHNOLOGY, INC
    Inventor: Sagar Borikar
  • Patent number: 10089267
    Abstract: A method is provided in one example embodiment and includes receiving by a network element a request from a network device connected to the network element to update a shared resource maintained by the network element; subsequent to the receipt, identifying a Base Address Register Resource Table (“BRT”) element assigned to a Peripheral Component Interconnect (“PCI”) adapter of the network element associated with the network device, wherein the BRT points to the shared resource; changing an attribute of the identified BRT from read-only to read/write to enable the identified BRT to be written by the network device; and notifying the network device that the attribute of the identified BRT has been changed, thereby enabling the network device to update the shared resource via a Base Address Register (“BAR”) comprising the identified BRT.
    Type: Grant
    Filed: September 8, 2017
    Date of Patent: October 2, 2018
    Assignee: CISCO TECHNOLOGY, INC.
    Inventors: Sagar Borikar, Prabhath Sajeepa
  • Publication number: 20180189191
    Abstract: An example method for facilitating multi-level paging and address translation in a network environment is provided and includes receiving a request for memory in a physical memory of a network element, associating the request with a first virtual address space, mapping a memory region located in the physical memory to a first window in the first virtual address space, the memory region being also mapped to a second window in a different, second virtual address space, remapping the first window in the first virtual address space to the second window in the second virtual address space, and responding to the request with addresses of the second window in the second virtual address space.
    Type: Application
    Filed: March 2, 2018
    Publication date: July 5, 2018
    Inventor: Sagar Borikar
  • Publication number: 20180137073
    Abstract: An example method for facilitating policy-driven storage in a microserver computing environment is provided and includes receiving, at an input/output (I/O) adapter in a microserver chassis having a plurality of compute nodes and a shared storage resource, policy contexts prescribing storage access parameters of respective compute nodes and enforcing the respective policy contexts on I/O operations by the compute nodes, in which respect a particular I/O operation by any compute node is not executed if the respective policy context does not allow the particular I/O operation. The method further includes allocating tokens to command descriptors associated with I/O operations for accessing the shared storage resource, identifying a violation of any policy context of any compute node based on availability of the tokens, and throttling I/O operations by other compute nodes until the violation disappears.
    Type: Application
    Filed: January 12, 2018
    Publication date: May 17, 2018
    Inventors: Prabhath Sajeepa, Sagar Borikar
  • Patent number: 9965441
    Abstract: An example method for adaptively coalescing remote direct memory access (RDMA) acknowledgements is provided. The method includes determining one or more input/output (I/O) characteristics of RDMA packets of a plurality of queue pairs (QPs) on a per-QP basis, each QP identifying a respective RDMA connection between a respective first compute node and a respective second compute node. The method further includes determining an acknowledgement frequency for providing acknowledgements of the RDMA packets on a per-QP basis (i.e., a respective acknowledgement frequency is set for each QP) based on the determined one or more I/O characteristics for each QP.
    Type: Grant
    Filed: December 10, 2015
    Date of Patent: May 8, 2018
    Assignee: CISCO TECHNOLOGY, INC.
    Inventors: Prabhath Sajeepa, Sagar Borikar
  • Patent number: 9921970
    Abstract: An example method for facilitating multi-level paging and address translation in a network environment is provided and includes receiving a request for memory in a physical memory of a network element, associating the request with a first virtual address space, mapping a memory region located in the physical memory to a first window in the first virtual address space, the memory region being also mapped to a second window in a different, second virtual address space, remapping the first window in the first virtual address space to the second window in the second virtual address space, and responding to the request with addresses of the second window in the second virtual address space.
    Type: Grant
    Filed: March 22, 2016
    Date of Patent: March 20, 2018
    Assignee: CISCO TECHNOLOGY, INC.
    Inventor: Sagar Borikar
  • Patent number: 9892075
    Abstract: An example method for facilitating policy-driven storage in a microserver computing environment is provided and includes receiving, at an input/output (I/O) adapter in a microserver chassis having a plurality of compute nodes and a shared storage resource, policy contexts prescribing storage access parameters of respective compute nodes and enforcing the respective policy contexts on I/O operations by the compute nodes, in which respect a particular I/O operation by any compute node is not executed if the respective policy context does not allow the particular I/O operation. The method further includes allocating tokens to command descriptors associated with I/O operations for accessing the shared storage resource, identifying a violation of any policy context of any compute node based on availability of the tokens, and throttling I/O operations by other compute nodes until the violation disappears.
    Type: Grant
    Filed: December 10, 2015
    Date of Patent: February 13, 2018
    Assignee: CISCO TECHNOLOGY, INC.
    Inventors: Prabhath Sajeepa, Sagar Borikar
  • Publication number: 20180011807
    Abstract: A method is provided in one example embodiment and includes receiving by a network element a request from a network device connected to the network element to update a shared resource maintained by the network element; subsequent to the receipt, identifying a Base Address Register Resource Table (“BRT”) element assigned to a Peripheral Component Interconnect (“PCI”) adapter of the network element associated with the network device, wherein the BRT points to the shared resource; changing an attribute of the identified BRT from read-only to read/write to enable the identified BRT to be written by the network device; and notifying the network device that the attribute of the identified BRT has been changed, thereby enabling the network device to update the shared resource via a Base Address Register (“BAR”) comprising the identified BRT.
    Type: Application
    Filed: September 8, 2017
    Publication date: January 11, 2018
    Inventors: Sagar Borikar, Prabhath Sajeepa
  • Publication number: 20170351639
    Abstract: An example method for facilitating remote memory access with memory mapped addressing among multiple compute nodes is executed at an input/output (IO) adapter in communication with the compute nodes over a Peripheral Component Interconnect Express (PCIE) bus, the method including: receiving a memory request from a first compute node to permit access by a second compute node to a local memory region of the first compute node; generating a remap window region in a memory element of the IO adapter, the remap window region corresponding to a base address register (BAR) of the second compute node; and configuring the remap window region to point to the local memory region of the first compute node, wherein access by the second compute node to the BAR corresponding with the remap window region results in direct access of the local memory region of the first compute node by the second compute node.
    Type: Application
    Filed: June 6, 2016
    Publication date: December 7, 2017
    Applicant: CISCO TECHNOLOGY, INC.
    Inventor: Sagar Borikar
  • Patent number: 9760513
    Abstract: A method is provided in one example embodiment and includes receiving by a network element a request from a network device connected to the network element to update a shared resource maintained by the network element; subsequent to the receipt, identifying a Base Address Register Resource Table (“BRT”) element assigned to a Peripheral Component Interconnect (“PCI”) adapter of the network element associated with the network device, wherein the BRT points to the shared resource; changing an attribute of the identified BRT from read-only to read/write to enable the identified BRT to be written by the network device; and notifying the network device that the attribute of the identified BRT has been changed, thereby enabling the network device to update the shared resource via a Base Address Register (“BAR”) comprising the identified BRT.
    Type: Grant
    Filed: September 22, 2015
    Date of Patent: September 12, 2017
    Assignee: CISCO TECHNOLOGY, INC.
    Inventors: Sagar Borikar, Prabhath Sajeepa