Patents by Inventor Prashant Chandra

Prashant Chandra 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: 20220393783
    Abstract: A system is provided for synchronizing clocks. The system includes a plurality of devices in a network, each device having a local clock. The system is configured to synchronize the local clocks according to a primary spanning tree, where the primary spanning tree has a plurality of nodes connected through a plurality of primary links, each node of the plurality of nodes representing a respective device of the plurality of devices. The system is also configured to compute a backup spanning tree before a failure is detected in the primary spanning tree, wherein the backup spanning tree includes one or more backup links that are different from the primary links. As such, upon detection of a failure in the primary spanning tree, the system reconfigures the plurality of devices such that clock synchronization is performed according to the backup spanning tree.
    Type: Application
    Filed: August 19, 2022
    Publication date: December 8, 2022
    Inventors: Yuliang Li, Gautam Kumar, Nandita Dukkipati, Hassan Wassel, Prashant Chandra, Amin Vahdat
  • Publication number: 20220385587
    Abstract: A communication protocol system is provided for reliable transport of packets. A content addressable memory hardware architecture including an acknowledgment coalescing module in communication with a content addressable memory (CAM). The acknowledgment coalescing module coalesces multiple acknowledgement packets as a single acknowledgement packet to reduce the overall numbers of the packet transmission in the communication protocol system. In addition, the acknowledgment coalescing module may also provide a piggyback mechanism to carry acknowledge information in a regular data packet. Thus, the need to generate a new acknowledgement packet may be eliminated. Accordingly, the network congestion and latency may be reduced, and the communication and transmission efficiency are enhanced.
    Type: Application
    Filed: December 16, 2021
    Publication date: December 1, 2022
    Inventors: Srinivas Vaduvatha, Weihuang Wang, Jiazhen Zheng, Prashant Chandra
  • Patent number: 11463354
    Abstract: Systems and methods of offloading multicast virtual network packet processing to a network interface card are provided. In an example implementation, a network interface card can route packets in a virtual network. The network interface card can be configured to receive a data packet having a multicast header for transmission to a plurality of destination virtual machines. The network interface card can retrieve a list of next hop destinations for the data packet. The network interface card can replicate the packet for each next hop destination. The network interface card can encapsulate each replicated packet with a unicast header that includes a next hop destination virtual IP address indicating the next hop destination and a source virtual IP address, and transmit the encapsulated packets.
    Type: Grant
    Filed: December 11, 2020
    Date of Patent: October 4, 2022
    Assignee: Google LLC
    Inventors: Prashant Chandra, Balakrishna Raghunath, Uday Ramakrishna Naik, Michael Dalton
  • Patent number: 11463187
    Abstract: A system is provided for synchronizing clocks. The system includes a plurality of devices in a network, each device having a local clock. The system is configured to synchronize the local clocks according to a primary spanning tree, where the primary spanning tree has a plurality of nodes connected through a plurality of primary links, each node of the plurality of nodes representing a respective device of the plurality of devices. The system is also configured to compute a backup spanning tree before a failure is detected in the primary spanning tree, wherein the backup spanning tree includes one or more backup links that are different from the primary links. As such, upon detection of a failure in the primary spanning tree, the system reconfigures the plurality of devices such that clock synchronization is performed according to the backup spanning tree.
    Type: Grant
    Filed: November 6, 2020
    Date of Patent: October 4, 2022
    Assignee: Google LLC
    Inventors: Yuliang Li, Gautam Kumar, Nandita Dukkipati, Hassan Wassel, Prashant Chandra, Amin Vahdat
  • Patent number: 11463547
    Abstract: A communication protocol system is provided for reliable transport of packets. In this regard, an initiator entity may determine that outgoing data is to be transmitted to a target entity. The initiator entity may transmit, to the target entity, a solicited push request requesting the outgoing data to be placed at the target entity. In response to the solicited push request, the initiator entity may receive a push grant from the target entity. In response to the push grant, the initiator entity may transmit to the target entity the outgoing data to be placed at the target entity.
    Type: Grant
    Filed: March 16, 2020
    Date of Patent: October 4, 2022
    Assignee: Google LLC
    Inventors: Weihuang Wang, Prashant Chandra, Srinivas Vaduvatha
  • Patent number: 11347597
    Abstract: Systems and methods of error handling in a network interface card (NIC) are provided. For a data packet destined for a local virtual machine (VM), if the NIC cannot determine a valid translation memory address for a virtual memory address in a buffer descriptor from a receive queue of the VM, the NIC can retrieve a backup buffer descriptor from a hypervisor queue, and store the packet in a host memory location indicated by an address in the backup buffer descriptor. For a transmission request from a local VM, if the NIC cannot determine a valid translated address for a virtual memory address in the packet descriptor from a transmit queue of the VM, the NIC can send a message to a hypervisor backup queue, and generate and transmit a data packet based on data in a memory page reallocated by the hypervisor.
    Type: Grant
    Filed: January 14, 2021
    Date of Patent: May 31, 2022
    Assignee: Google LLC
    Inventors: Prashant Chandra, Ian Mclaren, Jon Olson, Jacob Adriaens
  • Publication number: 20220124039
    Abstract: A network interface card with traffic shaping capabilities and methods of network traffic shaping with a network interface card are provided. The network interface card and method can shape traffic originating from one or more applications executing on a host network device. The applications can execute in a virtual machine or containerized computing environment. The network interface card and method can perform or include several traffic shaping mechanisms including, for example and without limitation, a delayed completion mechanism, a time-indexed data structure, a packet builder, and a memory manager.
    Type: Application
    Filed: December 28, 2021
    Publication date: April 21, 2022
    Inventors: Prashant Chandra, Nandita Dukkipati, Vytautas Valancius
  • Patent number: 11283719
    Abstract: A communication protocol system is provided for reliable transport of packets. A content addressable memory hardware architecture including a reorder engine and a retransmission engine may be utilized for the reliable transport of the packets. In this regard, a reorder engine includes a content addressable memory (CAM) and one or more processors in communication with the CAM. The one or more processors are configured to receive a first set of data packets when executed by the one or more processors. The one or more processors are configured to access the content addressable memory to process the first set of data packets. The one or more processors are configured to save data information of the first set of the data packets in the content addressable memory.
    Type: Grant
    Filed: July 13, 2020
    Date of Patent: March 22, 2022
    Assignee: Google LLC
    Inventors: Weihuang Wang, Srinivas Vaduvatha, Jiazhen Zheng, Prashant Chandra
  • Patent number: 11258714
    Abstract: A network interface card with traffic shaping capabilities and methods of network traffic shaping with a network interface card are provided. The network interface card and method can shape traffic originating from one or more applications executing on a host network device. The applications can execute in a virtual machine or containerized computing environment. The network interface card and method can perform or include several traffic shaping mechanisms including, for example and without limitation, a delayed completion mechanism, a time-indexed data structure, a packet builder, and a memory manager.
    Type: Grant
    Filed: September 28, 2018
    Date of Patent: February 22, 2022
    Assignee: Google LLC
    Inventors: Prashant Chandra, Nandita Dukkipati, Vytautas Valancius
  • Publication number: 20220043756
    Abstract: A flow table management system can include a hardware memory module communicatively coupled to a network interface card. The hardware memory module is configured to store a flow table including a plurality of network flow entries. The network interface card further includes a flow table age cache configured to store a set of recently active network flows and a flow table management module configured to manage a duration for which respective network flow entries in the flow table stored in the hardware memory module remain in the flow table using the flow table age cache. In some implementations, age information about each respective flow in the flow table is stored in the hardware memory module in an age state table that is separate from the flow table.
    Type: Application
    Filed: October 25, 2021
    Publication date: February 10, 2022
    Inventors: Weihuang Wang, Prashant Chandra
  • Publication number: 20220014468
    Abstract: A communication protocol system is provided for reliable transport of packets. A content addressable memory hardware architecture including a reorder engine and a retransmission engine may be utilized for the reliable transport of the packets. In this regard, a reorder engine includes a content addressable memory (CAM) and one or more processors in communication with the CAM. The one or more processors are configured to receive a first set of data packets when executed by the one or more processors. The one or more processors are configured to access the content addressable memory to process the first set of data packets. The one or more processors are configured to save data information of the first set of the data packets in the content addressable memory.
    Type: Application
    Filed: July 13, 2020
    Publication date: January 13, 2022
    Inventors: Weihuang Wang, Srinivas Vaduvatha, Jiazhen Zheng, Prashant Chandra
  • Publication number: 20220004503
    Abstract: Systems and methods of tracking page state changes are provided. An input/output is communicatively coupled to a host having a memory. The I/O device receives a command from the host to monitor page state changes in a region of the memory allocated to a process. The I/O device, bypassing a CPU of the host, modifies data stored in the region based on a request, for example, received from a client device via a computer network. The I/O device records the modification to a bitmap by setting a bit in the bitmap that corresponds to a location of the data in the memory. The I/O device transfers contents of the bitmap to the CPU, wherein the CPU completes the live migration by copying sections of the first region indicated by the bitmap to a second region of memory. In some implementations, the process can be a virtual machine, a user space application, or a container.
    Type: Application
    Filed: September 21, 2021
    Publication date: January 6, 2022
    Applicant: Google LLC
    Inventors: Shrijeet Mukherjee, Prashant Chandra, Joseph Raymond Michael Zbiciak, Horacio Andres Lagar Cavilla, David Alan Dillow
  • Publication number: 20210399990
    Abstract: A system includes a first processor configured to analyze packets received over a communication protocol system and determine one or more congestion indicators from the analysis of the data packets, the one or more congestion indicators being indicative of network congestion for data packets transmitted over a reliable transport protocol layer of the communication protocol system. The system also includes a rate update engine separate from the packet datapath and configured to operate a second processor to receive the determined one or more congestion indicators, determine one or more congestion control parameters for controlling transmission of data packets based on the received one or more congestion indicators, and output a congestion control result based on the determined one or more congestion control parameters.
    Type: Application
    Filed: June 22, 2020
    Publication date: December 23, 2021
    Applicant: Google LLC
    Inventors: Xiaoming Wang, Prashant Chandra, Neelesh Bansod, Nandita Dukkipati, Hassan Wassel, Gautam Kumar, Weihuang Wang, Michael Marty, Nicholas McDonald
  • Patent number: 11169932
    Abstract: A flow table management system can include a hardware memory module communicatively coupled to a network interface card. The hardware memory module is configured to store a flow table including a plurality of network flow entries. The network interface card further includes a flow table age cache configured to store a set of recently active network flows and a flow table management module configured to manage a duration for which respective network flow entries in the flow table stored in the hardware memory module remain in the flow table using the flow table age cache. In some implementations, age information about each respective flow in the flow table is stored in the hardware memory module in an age state table that is separate from the flow table.
    Type: Grant
    Filed: August 23, 2019
    Date of Patent: November 9, 2021
    Assignee: Google LLC
    Inventors: Weihuang Wang, Prashant Chandra
  • Patent number: 11151055
    Abstract: Systems and methods of tracking page state changes are provided. An input/output is communicatively coupled to a host having a memory. The I/O device receives a command from the host to monitor page state changes in a region of the memory allocated to a process. The I/O device, bypassing a CPU of the host, modifies data stored in the region based on a request, for example, received from a client device via a computer network. The I/O device records the modification to a bitmap by setting a bit in the bitmap that corresponds to a location of the data in the memory. The I/O device transfers contents of the bitmap to the CPU, wherein the CPU completes the live migration by copying sections of the first region indicated by the bitmap to a second region of memory. In some implementations, the process can be a virtual machine, a user space application, or a container.
    Type: Grant
    Filed: August 26, 2019
    Date of Patent: October 19, 2021
    Assignee: Google LLC
    Inventors: Shrijeet Subhabrata Mukherjee, Prashant Chandra, David Alan Dillow, Joseph Raymond Michael Zbiciak, Horacio Andres Lagar Cavilla
  • Publication number: 20210320736
    Abstract: A system is provided for synchronizing clocks. The system includes a plurality of devices in a network, each device having a local clock. The system is configured to synchronize the local clocks according to a primary spanning tree, where the primary spanning tree has a plurality of nodes connected through a plurality of primary links, each node of the plurality of nodes representing a respective device of the plurality of devices. The system is also configured to compute a backup spanning tree before a failure is detected in the primary spanning tree, wherein the backup spanning tree includes one or more backup links that are different from the primary links. As such, upon detection of a failure in the primary spanning tree, the system reconfigures the plurality of devices such that clock synchronization is performed according to the backup spanning tree.
    Type: Application
    Filed: November 6, 2020
    Publication date: October 14, 2021
    Inventors: Yuliang Li, Gautam Kumar, Nandita Dukkipati, Hassan Wassel, Prashant Chandra, Amin Vahdat
  • Publication number: 20210185139
    Abstract: A communication protocol system is provided for reliable transport of packets. In this regard, an initiator entity may determine that outgoing data is to be transmitted to a target entity. The initiator entity may transmit, to the target entity, a solicited push request requesting the outgoing data to be placed at the target entity. In response to the solicited push request, the initiator entity may receive a push grant from the target entity. In response to the push grant, the initiator entity may transmit to the target entity the outgoing data to be placed at the target entity.
    Type: Application
    Filed: March 16, 2020
    Publication date: June 17, 2021
    Inventors: Weihuang Wang, Prashant Chandra, Srinivas Vaduvatha
  • Publication number: 20210165717
    Abstract: Systems and methods of error handling in a network interface card (NIC) are provided. For a data packet destined for a local virtual machine (VM), if the NIC cannot determine a valid translation memory address for a virtual memory address in a buffer descriptor from a receive queue of the VM, the NIC can retrieve a backup buffer descriptor from a hypervisor queue, and store the packet in a host memory location indicated by an address in the backup buffer descriptor. For a transmission request from a local VM, if the NIC cannot determine a valid translated address for a virtual memory address in the packet descriptor from a transmit queue of the VM, the NIC can send a message to a hypervisor backup queue, and generate and transmit a data packet based on data in a memory page reallocated by the hypervisor.
    Type: Application
    Filed: January 14, 2021
    Publication date: June 3, 2021
    Inventors: Prashant Chandra, Ian Mclaren, Jon Olson, Jacob Adriaens
  • Publication number: 20210099383
    Abstract: Systems and methods of offloading multicast virtual network packet processing to a network interface card are provided. In an example implementation, a network interface card can route packets in a virtual network. The network interface card can be configured to receive a data packet having a multicast header for transmission to a plurality of destination virtual machines. The network interface card can retrieve a list of next hop destinations for the data packet. The network interface card can replicate the packet for each next hop destination. The network interface card can encapsulate each replicated packet with a unicast header that includes a next hop destination virtual IP address indicating the next hop destination and a source virtual IP address, and transmit the encapsulated packets.
    Type: Application
    Filed: December 11, 2020
    Publication date: April 1, 2021
    Applicant: Google LLC
    Inventors: Prashant Chandra, Balakrishna Raghunath, Uday Ramakrishna Naik, Michael Dalton
  • Patent number: 10922185
    Abstract: Systems and methods of error handling in a network interface card (NIC) are provided. For a data packet destined for a local virtual machine (VM), if the NIC cannot determine a valid translation memory address for a virtual memory address in a buffer descriptor from a receive queue of the VM, the NIC can retrieve a backup buffer descriptor from a hypervisor queue, and store the packet in a host memory location indicated by an address in the backup buffer descriptor. For a transmission request from a local VM, if the NIC cannot determine a valid translated address for a virtual memory address in the packet descriptor from a transmit queue of the VM, the NIC can send a message to a hypervisor backup queue, and generate and transmit a data packet based on data in a memory page reallocated by the hypervisor.
    Type: Grant
    Filed: February 19, 2019
    Date of Patent: February 16, 2021
    Assignee: Google LLC
    Inventors: Prashant Chandra, Ian Mclaren, Jon Olson, Jacob Adriaens