Patents by Inventor Anurag Agrawal

Anurag Agrawal 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: 10862888
    Abstract: Methods, systems, and apparatus include computer programs encoded on a computer-readable storage medium, including a method for providing content. An initial request for a resource is received. A determination is made when fixed or recyclable contact information should be provided with the resource, wherein the contact information is associated with a content sponsor that sponsored the resource. When recyclable contact information should be provided, first recyclable contact information for the content sponsor and time-out information are identified. The first recyclable contact information and the time-out information are combined in an identifier. The identifier is stored on the requesting device and the resource is provided including the first recyclable contact information responsive to the initial request.
    Type: Grant
    Filed: April 29, 2019
    Date of Patent: December 8, 2020
    Assignee: Google LLC
    Inventors: Anurag Agrawal, Anshul Kothari, Daniel Andersson
  • Patent number: 10848429
    Abstract: Some embodiments provide a method for a hardware forwarding element that includes multiple queues. The method receives a packet at a multi-stage processing pipeline of the hardware forwarding element. The method determines, at one of the stages of the processing pipeline, to modify a setting of a particular one of the queues. The method stores an identifier for the particular queue and instructions to modify the queue setting with data passed through the processing pipeline for the packet. The stored information is subsequently used by the hardware forwarding element to modify the queue setting.
    Type: Grant
    Filed: August 21, 2017
    Date of Patent: November 24, 2020
    Assignee: Barefoot Networks, Inc.
    Inventors: Jeongkeun Lee, Yi Li, Michael Feng, Srivathsa Dhruvanarayan, Anurag Agrawal
  • Publication number: 20200366618
    Abstract: Some embodiments provide a method for a hardware forwarding element. The method adds a received packet to a buffer. The method determines whether adding the packet to the buffer causes the buffer to pass one of multiple flow control thresholds, each of which corresponds to a different packet priority. When adding the packet to the buffer causes the buffer to pass a particular flow control threshold corresponding to a particular priority, the method generates a flow control message for the particular priority.
    Type: Application
    Filed: June 3, 2020
    Publication date: November 19, 2020
    Inventors: Anurag AGRAWAL, Yi LI
  • Publication number: 20200366622
    Abstract: In a method for allocating physical queues of a network forwarding element, a request is received at the network forwarding element, the network forwarding element including a plurality of physical queues, where each physical queue of the plurality of physical queues has a fixed bandwidth, the request identifying an allocation of a plurality of virtual queues at the network forwarding element. Based at least in part on the request, a configuration of the plurality of physical queues to the plurality of virtual queues is determined. The plurality of physical queues is configured according to the configuration, wherein the configuring includes allocating at least two physical queues to a virtual queue.
    Type: Application
    Filed: May 13, 2019
    Publication date: November 19, 2020
    Applicant: Barefoot Networks, Inc.
    Inventors: Anurag AGRAWAL, Michael FENG, Robert LI, Yan WANG
  • Patent number: 10826840
    Abstract: Some embodiments provide a method for a packet processing pipeline of a network forwarding integrated circuit. The method stores two copies of a stateful table used by the packet processing pipeline. The stateful table is modified according to data processed by the packet processing pipeline. Upon receiving data to write to the stateful table, the method generates (i) a first copy of the received data along with an indicator for a first one of the copies of the stateful table and (ii) a second copy of the received data along with an indicator for a second one of the copies of the stateful table. The method sends the first copy of the received data into the packet processing pipeline before sending the second copy of the received data into the packet processing pipeline.
    Type: Grant
    Filed: December 7, 2017
    Date of Patent: November 3, 2020
    Assignee: Barefoot Networks, Inc.
    Inventors: Jay Evan Scott Peterson, Michael Gregory Ferrara, Anurag Agrawal, Patrick Bosshart, Jeongkeun Lee
  • Patent number: 10785342
    Abstract: Some embodiments provide a method for a hardware forwarding element. Based on a set of characteristics of a packet, the method determines to copy a packet to a particular temporary storage of a set of temporary storages of the hardware forwarding element. Based on a property of the particular temporary storage, the method stores only a particular portion of the packet in the particular temporary storage. A same size portion of each packet copied to the particular temporary storage is stored in the particular temporary storage.
    Type: Grant
    Filed: February 28, 2019
    Date of Patent: September 22, 2020
    Assignee: Barefoot Networks, Inc.
    Inventors: Parag D. Bhide, Alain Loge, Chaitanya Kodeboyina, Anurag Agrawal
  • Patent number: 10771401
    Abstract: Some embodiments provide a network forwarding element with a data-plane forwarding circuit that has a parameter collecting circuit to store and distribute parameter values computed by several machines in a network. In some embodiments, the machines perform distributed computing operations, and the parameter values that compute are parameter values associated with the distributed computing operations. The parameter collecting circuit of the data-plane forwarding circuit (data plane) in some embodiments (1) stores a set of parameter values computed and sent by a first set of machines, and (2) distributes the collected parameter values to a second set of machines once it has collected the set of parameter values from all the machines in the first set. The first and second sets of machines are the same set of machines in some embodiments, while they are different sets of machines (e.g., one set has at least one machine that is not in the other set) in other embodiments.
    Type: Grant
    Filed: September 30, 2018
    Date of Patent: September 8, 2020
    Assignee: Barefoot Networks, Inc.
    Inventors: Masoud Moshref Javadi, Changhoon Kim, Patrick W. Bosshart, Anurag Agrawal
  • Publication number: 20200280518
    Abstract: Examples described herein relate to a network element comprising an ingress pipeline and at least one queue from which to egress packets. The network element can receive a packet and generate a congestion notification packet at the ingress pipeline to a sender of the packet based on detection of congestion in a target queue that is to store the packet and before the packet is stored in a congested target queue. The network element can generate a congestion notification packet based on a queue depth of the target queue and likelihood the target queue is congested. The likelihood the queue is congested can be based on a probabilistic function including one or more of Proportional-Integral (PI) or Random Early Detection (RED). The network element can determine a pause time for the sender to pause sending particular packets based at least on a time for the target queue to drain to a target level.
    Type: Application
    Filed: May 19, 2020
    Publication date: September 3, 2020
    Inventors: Jeongkeun LEE, Rong PAN, Changhoon KIM, Jeremias BLENDIN, Georgios NIKOLAIDIS, Ashutosh AGRAWAL, Ethan M. SPIEGEL, Anurag AGRAWAL
  • Publication number: 20200265002
    Abstract: Some embodiments of the invention provide a novel method and chip design for a forwarding chip, that decouples input-output (IO) technology requirements from the technology used in a high bandwidth switching ASIC. In some embodiments, a main die including a latest generation switching chip is coupled to a set of IO dies (e.g., SerDes dies). The main die, in some embodiments, uses a latest technology (e.g., 7 nm nodes) while the IO dies, in some embodiments, use a more mature technology (e.g., 16 nm nodes). Some embodiments provide multiple IO dies that each provide connectivity to external components to the high bandwidth switching ASIC (e.g., a core ASIC die). The multiple dies are mounted on a silicon interposer, in some embodiments, using microbumps to make the connections between the dies and the silicon interposer. Additional connections to the pad are made from each die including to general purpose input-output (GPIO) connections.
    Type: Application
    Filed: February 20, 2020
    Publication date: August 20, 2020
    Inventors: Anurag AGRAWAL, Alain LOGE
  • Publication number: 20200264417
    Abstract: An imaging target for characterization of an optical system has a structure, formed on a substrate, wherein the structure has a base level and has one or more staging surfaces spaced apart from the base level and disposed over a range of distances from the base level; and one or more localized light sources disposed along the one or more staging surfaces of the structure and configured to direct light through or from the structure.
    Type: Application
    Filed: February 4, 2020
    Publication date: August 20, 2020
    Inventors: Anurag Agrawal, Leslie Kimerling, Rafael Piestun, Scott Gaumer, Warren Colomb
  • Patent number: 10748106
    Abstract: Improving automated package delivery to mobile delivery receptacles to allow accurate and reliable package deliveries comprises a delivery receptacle for an automated package delivery via an unmanned aerial delivery device. The delivery receptacle is notified of a pending delivery and travels to a receiving location. The delivery receptacle emits infrared (“IR”) beacons from one or more IR beacon transmitters. An aerial delivery device detects the IR beacon and uses the beacons to navigate to the delivery receptacle. The delivery receptacle receives IR beacon responses from the aerial delivery device and continually or periodically directs the IR beacons in the direction of the aerial delivery device. The aerial delivery device deposits the package in the delivery receptacle. After receiving the package, the delivery receptacle transports the package to a secure location, such as into a garage.
    Type: Grant
    Filed: September 14, 2017
    Date of Patent: August 18, 2020
    Assignee: Google LLC
    Inventors: Varun Soundararajan, Anurag Agrawal
  • Patent number: 10735331
    Abstract: Some embodiments provide a method for a hardware forwarding element. The method receives a packet to add to a buffer. The packet is assigned a packet class. The method determines an amount of buffer space available for the assigned packet class. Different packet classes have different amounts of buffer space available in the buffer. When the available buffer space for the assigned packet class is large enough for the received packet, the method adds the packet to the buffer.
    Type: Grant
    Filed: December 9, 2016
    Date of Patent: August 4, 2020
    Assignee: Barefoot Networks, Inc.
    Inventors: Yi Li, Anurag Agrawal, Michael Feng
  • Patent number: 10728173
    Abstract: A method of forwarding a multicast packet by a physical forwarding element is provided. The method receives a multicast packet that identifies a multicast group. The method scans a multicast tree associated with the multicast group to identify an ECMP group for forwarding the multicast packet to a member of the multicast group. The method calculates a group of hash values on several fields of the packet and uses a first hash value in the group of hash values to identify a first path in the ECMP. The method determines that the identified path has failed. The method uses a second hash value to identify a second path in the ECMP. The method forwards the multicast packet to the multicast member through the second path.
    Type: Grant
    Filed: February 8, 2019
    Date of Patent: July 28, 2020
    Assignee: Barefoot Networks, Inc.
    Inventors: Anurag Agrawal, Julianne Zhu
  • Patent number: 10721188
    Abstract: Some embodiments provide a network forwarding element with a data-plane forwarding circuit that has a parameter collecting circuit to store and distribute parameter values computed by several machines in a network. In some embodiments, the machines perform distributed computing operations, and the parameter values that compute are parameter values associated with the distributed computing operations. The parameter collecting circuit of the data-plane forwarding circuit (data plane) in some embodiments (1) stores a set of parameter values computed and sent by a first set of machines, and (2) distributes the collected parameter values to a second set of machines once it has collected the set of parameter values from all the machines in the first set. The first and second sets of machines are the same set of machines in some embodiments, while they are different sets of machines (e.g., one set has at least one machine that is not in the other set) in other embodiments.
    Type: Grant
    Filed: September 30, 2018
    Date of Patent: July 21, 2020
    Assignee: Barefoot Networks, Inc.
    Inventors: Masoud Moshref Javadi, Changhoon Kim, Patrick W. Bosshart, Anurag Agrawal
  • Patent number: 10708189
    Abstract: Some embodiments provide a method for a hardware forwarding element. The method adds a received packet to a buffer. The method determines whether adding the packet to the buffer causes the buffer to pass one of multiple flow control thresholds, each of which corresponds to a different packet priority. When adding the packet to the buffer causes the buffer to pass a particular flow control threshold corresponding to a particular priority, the method generates a flow control message for the particular priority.
    Type: Grant
    Filed: December 9, 2016
    Date of Patent: July 7, 2020
    Assignee: Barefoot Networks, Inc.
    Inventors: Anurag Agrawal, Yi Li
  • Publication number: 20200183845
    Abstract: Systems and methods for prefetching content items for display by applications executed on computing devices are provided. The method can include transmitting a first request for content to display within an environment of the application, the first request for content including a first parameter to be used to determine a first content item for display; storing in an associated memory element, the first parameter; transmitting a follow-on request for content including the first parameter of the first request for content; receiving a follow-on content item responsive to the follow-on request for content; storing the follow-on content item in a local cache structure specific to the application; transmitting a second request for content; retrieving, in response to the second request, the follow-on content item from the local cache structure; and displaying, in response to the second request, the follow-on content item within the environment of the application on the computing device.
    Type: Application
    Filed: February 17, 2020
    Publication date: June 11, 2020
    Applicant: GOOGLE LLC
    Inventors: Anton Kast, Anton Kast, William Coster, Anurag Agrawal, William Coster, Anurag Agrawal
  • Patent number: 10616101
    Abstract: Some embodiments provide a data-plane forwarding circuit that can be configured to learn about a new message flow and to maintain metadata about the new message flow without first having a control plane first configure the data plane to maintain metadata about the flow. To perform its forwarding operations, the data plane includes several data message processing stages that are configured to process the data tuples associated with the data messages received by the data plane. In some embodiments, parts of the data plane message-processing stages are also configured to operate as a flow-tracking circuit that includes (1) a flow-identifying circuit to identify message flows received by the data plane, and (2) a first set of storages to store metadata about the identified flows.
    Type: Grant
    Filed: March 21, 2018
    Date of Patent: April 7, 2020
    Assignee: Barefoot Networks, Inc.
    Inventors: Jay Evan Scott Peterson, Steven Licking, Jeongkeun Lee, Patrick Bosshart, Anurag Agrawal, Michael Gregory Ferrara
  • Patent number: 10599860
    Abstract: A method for accessing enterprise data is described herein. In an implementation, the method comprises receiving, by an application server), a login request from the user equipment, wherein the login request comprises login credentials corresponding to a user. Further, upon successful authentication of the user, user permissions corresponding to the user are ascertained based on one or more predetermined parameters. Further, a default application list is filtered based on the user permissions to obtain a user specific application list corresponding to the user, wherein the application list comprises a plurality of enterprise resource planning (ERP) modules, and wherein the user specific application list comprises one or more ERP modules from amongst the plurality of ERP modules. The method further comprises rendering the user specific application list to the user equipment for providing access to data corresponding to the one or more ERP modules over the web browser.
    Type: Grant
    Filed: November 5, 2014
    Date of Patent: March 24, 2020
    Assignee: Tata Consultancy Services Limited
    Inventors: Viral Prakash Shah, Shobhit Shukla, Anurag Agrawal, Vikrant Chaudhery
  • Patent number: 10601732
    Abstract: Some embodiments provide a method for a packet processing pipeline of a network forwarding integrated circuit (IC). The packet processing pipeline includes multiple match-action stages for processing packets received by the network forwarding IC. Each packet is transmitted through the pipeline using a set of data containers. The method receives data, generated by the network forwarding IC, that is separate from the packets processed by the pipeline. The method transmits through the packet processing pipeline (i) a packet using a first set of data containers and (ii) the received data using a second set of data containers. The first and second sets of data containers are transmitted together through the packet processing pipeline. For at least one of the match-action stages, the method processes the packet data in the first set of data containers and the received data in the second set of data containers in a same clock cycle.
    Type: Grant
    Filed: December 7, 2017
    Date of Patent: March 24, 2020
    Assignee: Barefoot Networks, Inc.
    Inventors: Jay Evan Scott Peterson, Michael Gregory Ferrara, Anurag Agrawal, Patrick Bosshart, Jeongkeun Lee
  • Patent number: 10599603
    Abstract: Some embodiments of the invention provide a novel method and chip design for a forwarding chip, that decouples input-output (IO) technology requirements from the technology used in a high bandwidth switching ASIC. In some embodiments, a main die including a latest generation switching chip is coupled to a set of IO dies (e.g., SerDes dies). The main die, in some embodiments, uses a latest technology (e.g., 7 nm nodes) while the IO dies, in some embodiments, use a more mature technology (e.g., 16 nm nodes). Some embodiments provide multiple IO dies that each provide connectivity to external components to the high bandwidth switching ASIC (e.g., a core ASIC die). The multiple dies are mounted on a silicon interposer, in some embodiments, using microbumps to make the connections between the dies and the silicon interposer. Additional connections to the pad are made from each die including to general purpose input-output (GPIO) connections.
    Type: Grant
    Filed: February 13, 2018
    Date of Patent: March 24, 2020
    Assignee: Barefoot Networks, Inc.
    Inventors: Anurag Agrawal, Alain Loge