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: 20210019230
    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: February 19, 2019
    Publication date: January 21, 2021
    Inventors: Prashant Chandra, Ian Mclaren, Jon Olson, Jacob Adriaens
  • Publication number: 20210014161
    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: February 11, 2019
    Publication date: January 14, 2021
    Inventors: Prashant Chandra, Balakrishna Raghunath, Uday Ramakrishna Naik, Michael Dalton
  • Patent number: 10880208
    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: February 11, 2019
    Date of Patent: December 29, 2020
    Assignee: Google LLC
    Inventors: Prashant Chandra, Balakrishna Raghunath, Uday Ramakrishna Naik, Michael Dalton
  • Publication number: 20200364156
    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: August 23, 2019
    Publication date: November 19, 2020
    Inventors: Weihuang Wang, Prashant Chandra
  • Publication number: 20200356493
    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: August 26, 2019
    Publication date: November 12, 2020
    Inventors: Shrijeet Subhabrata Mukherjee, Prashant Chandra, David Alan Dillow, Joseph Raymond Michael Zbiciak, Horacio Andres Lagar Cavilla
  • Patent number: 9252970
    Abstract: Described are embodiments of methods, apparatuses, and systems for multi-protocol tunneling across a multi-protocol I/O interconnect of computer apparatus. A method for configuring a multi-protocol I/O interconnect may include identifying a plurality of switches of a switching fabric of a multi-protocol I/O interconnect, and configuring a path from a port of a first switch of the plurality of switches to a port of a second switch of the plurality of switches. Packets of a first protocol and packets of a second protocol, different from the first protocol, may be simultaneously routed over the path. Other embodiments may be described and claimed.
    Type: Grant
    Filed: December 27, 2011
    Date of Patent: February 2, 2016
    Assignee: Intel Corporation
    Inventors: Prashant Chandra, Kevin C. Kahn
  • Publication number: 20130030987
    Abstract: In one embodiment, a system includes one or more computing systems that implement a social networking environment and are operable to provide paid profile personalization functions to users. In particular embodiments, the user may select one or more social networking objects to replace advertisements or other elements that are normally displayed to visitors of the user's profile page that are otherwise controlled by the social networking system. In particular embodiments, the user may edit elements on their profile page that are otherwise automatically generated and controlled in design and content by the social networking system. In particular embodiments, the user is billed on a recurring basis for profile personalization.
    Type: Application
    Filed: July 27, 2011
    Publication date: January 31, 2013
    Inventors: Mark E. Zuckerberg, Prashant Chandra Fuloria, Gokul Rajaram
  • Publication number: 20130030905
    Abstract: Methods, apparatuses and systems directed to allowing users of a social networking system to promote specific social networking objects in exchange for payment. In particular embodiments, promoted social networking objects may be exported to a sponsored story system for display in a sponsored story area of the promoting user's friends' home pages. In particular embodiments, the promoted social networking objects may be pinned for a predetermined amount of time, clicks, or impressions at the top of the news feeds for the first degree connections of the promoting user.
    Type: Application
    Filed: July 29, 2011
    Publication date: January 31, 2013
    Inventors: Prashant Chandra Fuloria, Gokul Rajaram
  • Patent number: 7684319
    Abstract: Techniques for managing a TCP congestion window. Such techniques include incrementing an acknowledgement (ACK) count for non-duplicate Transmission Control Protocol ACKs received, comparing the ACK count to a congestion window factor representing the ratio of a congestion window size associated with a connection to a maximum segment size associated with the connection, and, based on the comparing, incrementing the congestion window factor.
    Type: Grant
    Filed: June 29, 2006
    Date of Patent: March 23, 2010
    Assignee: Intel Corporation
    Inventors: Alok Kumar, Eswar M. Eduri, Prashant Chandra, Uday Naik
  • Patent number: 7577157
    Abstract: According to some embodiments, a processing element arranges for a packet to be transmitted through a port without storing a packet identifier in a local transmit queue if a number of transmit buffers to be associated with the packet does not exceed a pre-determined threshold.
    Type: Grant
    Filed: December 12, 2003
    Date of Patent: August 18, 2009
    Assignee: Intel Corporation
    Inventors: Alok Kumar, Prashant Chandra, Uday Naik, Ameya S. Varde, David Chou
  • Patent number: 7373475
    Abstract: Methods for optimizing memory unit usage to maximize packet throughput for a multiprocessor multithreaded architecture. One method employs a first phase of a software algorithm to allocate data structures to memory units in which the data units are stored and accessed during processing operations. The allocation is such that the data structures are allocated to memory units having lower latencies while satisfying capacity and bandwidth constraints for the memory units. A second phase of the algorithm may be employed to tune the allocation, wherein the performance level of an initial allocation and subsequent reallocations are simulated for an environment in which the memory units and data structures are to be implemented. From the simulation, the allocation providing the best performance level is selected. The simulated environment may include network processor unit (NPU) environments, with the performance level comprising a measure of packet throughput.
    Type: Grant
    Filed: June 21, 2005
    Date of Patent: May 13, 2008
    Assignee: Intel Corporation
    Inventors: Paul Burkley, Prashant Chandra
  • Publication number: 20080040494
    Abstract: Partitioning of a Transmission Control Protocol (TCP) Control Block (TCB) associated with a TCP connection into multiple, independently accessible data structures. A first of the data structures includes TCB data used in handling an egress direction of the TCP connection while a second of the data structures includes TCB data used in handling an ingress direction of the TCP connection.
    Type: Application
    Filed: July 28, 2006
    Publication date: February 14, 2008
    Inventors: Alok Kumar, Prashant Chandra, Eswar Eduri, Uday Naik
  • Publication number: 20080002575
    Abstract: Techniques for managing a TCP congestion window. Such techniques include incrementing an acknowledgement (ACK) count for non-duplicate Transmission Control Protocol ACKs received, comparing the ACK count to a congestion window factor representing the ratio of a congestion window size associated with a connection to a maximum segment size associated with the connection, and, based on the comparing, incrementing the congestion window factor.
    Type: Application
    Filed: June 29, 2006
    Publication date: January 3, 2008
    Inventors: Alok Kumar, Eswar M. Eduri, Prashant Chandra, Uday Naik
  • Patent number: 7275145
    Abstract: According to some embodiments, a processing element includes (i) a next neighbor register to receive information directly from a previous processing element in a series of processing elements, and (ii) a previous neighbor register to receive information directly from a next processing element in the series.
    Type: Grant
    Filed: December 24, 2003
    Date of Patent: September 25, 2007
    Assignee: Intel Corporation
    Inventors: Sridhar Lakshmanamurthy, Prashant Chandra, Wilson Y. Liao, Jeen-Yuan Miin, Pun Yim, Chen-Chi Kuo, Jaroslaw J. Sydir
  • Publication number: 20070005925
    Abstract: Methods for optimizing memory unit usage to maximize packet throughput for a multiprocessor multithreaded architecture. One method employs a first phase of a software algorithm to allocate data structures to memory units in which the data units are stored and accessed during processing operations. The allocation is such that the data structures are allocated to memory units having lower latencies while satisfying capacity and bandwidth constraints for the memory units. A second phase of the algorithm may be employed to tune the allocation, wherein the performance level of an initial allocation and subsequent reallocations are simulated for an environment in which the memory units and data structures are to be implemented. From the simulation, the allocation providing the best performance level is selected. The simulated environment may include network processor unit (NPU) environments, with the performance level comprising a measure of packet throughput.
    Type: Application
    Filed: June 21, 2005
    Publication date: January 4, 2007
    Inventors: Paul Burkley, Prashant Chandra
  • Publication number: 20060150165
    Abstract: Systems and methods are disclosed for supporting virtual microengines in a multithreaded processor, such as a microengine running on a network processor. In one embodiment code is written for execution by a plurality of virtual microengines. The code is than compiled and linked for execution on a physical microengine, at which time the physical microengine's threads are assigned to thread groups corresponding to the virtual microengines. Internal next neighbor rings are allocated within the physical microengine to facilitate communication between the thread groups. The code can then be loaded onto the physical microengine and executed, with each thread group executing the code written for its corresponding virtual microengine.
    Type: Application
    Filed: December 30, 2004
    Publication date: July 6, 2006
    Applicant: Intel Corporation
    Inventors: Donald Hooper, Prashant Chandra, James Guilford, Mark Rosenbluth
  • Publication number: 20050226235
    Abstract: A method and apparatus for two-stage packet classification. In the first stage, which may be implemented in software, a packet is classified on the basis of the packet's network path and, perhaps, its protocol. In the second stage, which may be implemented in hardware, the packet is classified on the basis of one or more transport level fields of the packet. An apparatus of two-stage packet classification may include a processing system for first stage code execution, a classification circuit for performing the second stage of classification, and a memory to store a number of bins, each bin including one or more rules.
    Type: Application
    Filed: April 8, 2004
    Publication date: October 13, 2005
    Inventors: Alok Kumar, Michael Kounavis, Raj Yavatkar, Prashant Chandra, Sridhar Lakshmanamurthy, Chen-Chi Kuo, Harrick Vin
  • Publication number: 20050201398
    Abstract: A method and apparatus to receive a plurality of packet from an inflow of a single packet flow. In response to receiving the plurality of packets, a plurality of packet pointers is enqueued into multiple physical queues. Each of the plurality of packet pointers designates one of the plurality of packets from the single packet flow. The plurality of packet pointers are dequeued from the multiple physical queues to transmit the plurality of packets along an outflow of the single packet flow.
    Type: Application
    Filed: December 22, 2003
    Publication date: September 15, 2005
    Inventors: Uday Naik, Prashant Chandra, Alok Kumar, Ameya Varde
  • Publication number: 20050198361
    Abstract: A method and apparatus for meeting a given content throughput using at least one memory channel is generally described. In accordance with one example embodiment of the invention, a method to meet a given content throughput using at least one memory channel comprising, comparing the size of at least a portion of received content to a capacity of a single contiguous location within at least one memory channel to meet a given throughput and determining whether to distribute the at least portion of received content across the at least one memory channel, based at least in part, on the comparison.
    Type: Application
    Filed: December 29, 2003
    Publication date: September 8, 2005
    Inventors: Prashant Chandra, Uday Naik, Alok Kumar, Ameya Varde, Donald Hooper, Debra Bernstein, Myles Wilde, Mark Rosenbluth
  • Publication number: 20050149691
    Abstract: According to some embodiments, a processing element includes (i) a next neighbor register to receive information directly from a previous processing element in a series of processing elements, and (ii) a previous neighbor register to receive information directly from a next processing element in the series.
    Type: Application
    Filed: December 24, 2003
    Publication date: July 7, 2005
    Inventors: Sridhar Lakshmanamurthy, Prashant Chandra, Wilson Liao, Jeen-Yuan Miin, Pun Yim, Chen-Chi Kuo, Jaroslaw Sydir