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).

  • Publication number: 20210203773
    Abstract: Methods, systems, and apparatus include computer programs encoded on a computer-readable storage medium for dynamic telephone number assignment. A method includes: providing a content item to a user device, the content item including a control for initiating a call to a content sponsor associated with the content item; assigning a telephone number from a pool to the content item; receiving a control interaction indication; facilitating a connection between the user and the content sponsor based on the interaction; storing an association between a user identifier, the telephone number, and a content sponsor identifier such that future calls from the user to the telephone number can be routed to the content sponsor, even after the telephone number has been returned to the pool; and linking a content item impression with the connection such that a report can be generated that shows an effectiveness of the content item impression.
    Type: Application
    Filed: March 11, 2021
    Publication date: July 1, 2021
    Inventors: Anurag Agrawal, Anshul Kothari, Tao Huang, Girish Baliga, Seung Yi
  • Publication number: 20210176194
    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: Application
    Filed: March 8, 2019
    Publication date: June 10, 2021
    Inventors: Masoud Moshref JAVADI, Changhoon KIM, Patrick BOSSHART, Anurag AGRAWAL
  • Publication number: 20210166062
    Abstract: Systems and methods for automatically extracting a plurality of contact information from a resource, calculating prominence scores of each contact information, and associating a selected contact information with a content item are provided. A content item and a uniform resource locator are received from a content provider. A resource identified by the uniform resource locator is loaded. A plurality of contact information is detected from the loaded resource. For each of the detected contact information, a prominence score is calculated. One of the plurality of contact information is selected based on the calculated prominence scores. The selected contact information is associated with the content item.
    Type: Application
    Filed: February 16, 2021
    Publication date: June 3, 2021
    Inventors: Varun Soundararajan, Anshul Kothari, Anurag Agrawal
  • Patent number: 11019172
    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: August 14, 2020
    Date of Patent: May 25, 2021
    Assignee: Barefoot Networks, Inc.
    Inventors: Parag D. Bhide, Alain Loge, Chaitanya Kodeboyina, Anurag Agrawal
  • Publication number: 20210125582
    Abstract: Systems and methods for cropping media for a particular orientation using a computing device are described. In some implementations, a method may first comprise receiving by a video preprocessor of the device, a first frame of media in a first orientation. A first region comprising a first feature within the first frame may be identified, by an image analyzer. A cropping calculator of the device may generate a score for the first region based on a characteristic of the first feature and determine that the score for the first region exceeds a threshold. An image processor of the device may then crop the first frame of the video, responsive to the determination that the score for the first region exceeds the threshold, to include the first region within a predetermined display area comprising a subset of the first frame in a second orientation.
    Type: Application
    Filed: January 4, 2021
    Publication date: April 29, 2021
    Applicant: GOOGLE LLC
    Inventors: Anton Kast, Anurag Agrawal
  • Publication number: 20210119939
    Abstract: Some embodiments provide a method for an ingress packet processing pipeline of a network forwarding integrated circuit (IC). The ingress packet processing pipeline is for receiving packets from a port of the network forwarding IC and processing the packets to assign different packets to different queues of a traffic management unit of the network forwarding IC. The method receives state data from the traffic management unit. The method stores the state data in a stateful table. The method assigns a particular packet to a particular queue based on the state data received from the traffic management unit and stored in the stateful table.
    Type: Application
    Filed: December 24, 2020
    Publication date: April 22, 2021
    Inventors: Yi LI, Michael FENG, Anurag AGRAWAL, Jeongkeun LEE, Changhoon KIM, Remy CHANG
  • Patent number: 10986224
    Abstract: Methods, systems, and apparatus include computer programs encoded on a computer-readable storage medium for dynamic telephone number assignment. A method includes: providing a content item to a user device, the content item including a control for initiating a call to a content sponsor associated with the content item; assigning a telephone number from a pool to the content item; receiving a control interaction indication; facilitating a connection between the user and the content sponsor based on the interaction; storing an association between a user identifier, the telephone number, and a content sponsor identifier such that future calls from the user to the telephone number can be routed to the content sponsor, even after the telephone number has been returned to the pool; and linking a content item impression with the connection such that a report can be generated that shows an effectiveness of the content item impression.
    Type: Grant
    Filed: March 9, 2016
    Date of Patent: April 20, 2021
    Assignee: Google LLC
    Inventors: Anurag Agrawal, Anshul Kothari, Tao Huang, Girish Baliga, Seung Yi
  • Patent number: 10986042
    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: April 20, 2021
    Assignee: Barefoot Networks, Inc.
    Inventors: Masoud Moshref Javadi, Changhoon Kim, Patrick W. Bosshart, Anurag Agrawal
  • Publication number: 20210105220
    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: Application
    Filed: October 16, 2020
    Publication date: April 8, 2021
    Inventors: Jeongkeun LEE, Yi LI, Michael FENG, Srivathsa Dhruvanarayan, Anurag AGRAWAL
  • Patent number: 10955331
    Abstract: Imaging or measurement methods and systems including methods and systems for finding the three-dimensional orientation and position of multiple dipole-like particles and single molecules, methods and systems for generating helical beams and helical spread functions, and methods and systems for super-resolution and super-localization of dense arrays of emitters.
    Type: Grant
    Filed: June 24, 2013
    Date of Patent: March 23, 2021
    Assignee: The Regents of The University of Colorado, a body corporate
    Inventors: Rafael Piestun, Anurag Agrawal, Sean Quirin, Anthony Barsic, Ginni Grover
  • Patent number: 10949199
    Abstract: Some embodiments provide a method for a network forwarding integrated circuit (IC). The method receives packet data with an instruction to copy a portion of the packet data to a temporary storage of the network forwarding IC. The portion is larger than a maximum entry size of the temporary storage. The method generates a header for each of multiple packet data sections for storage in entries of the temporary storage, with each packet data section including a sub-portion of the packet data portion. The method sends the packet data sections with the generated headers to the temporary storage for storage in multiple separate temporary storage entries.
    Type: Grant
    Filed: December 8, 2017
    Date of Patent: March 16, 2021
    Assignee: Barefoot Networks, Inc.
    Inventors: Xiaozhou Li, Jeongkeun Lee, Srivathsa Dhruvanarayan, Anurag Agrawal, Changhoon Kim, Alain Loge
  • Patent number: 10943144
    Abstract: Systems and methods for automatically extracting a plurality of contact information from a resource, calculating prominence scores of each contact information, and associating a selected contact information with a content item are provided. A content item and a uniform resource locator are received from a content provider. A resource identified by the uniform resource locator is loaded. A plurality of contact information is detected from the loaded resource. For each of the detected contact information, a prominence score is calculated. One of the plurality of contact information is selected based on the calculated prominence scores. The selected contact information is associated with the content item.
    Type: Grant
    Filed: June 29, 2017
    Date of Patent: March 9, 2021
    Assignee: GOOGLE LLC
    Inventors: Varun Soundararajan, Anshul Kothari, Anurag Agrawal
  • Patent number: 10931591
    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: Grant
    Filed: May 13, 2019
    Date of Patent: February 23, 2021
    Assignee: Barefoot Networks, Inc.
    Inventors: Anurag Agrawal, Michael Feng, Robert Li, Yan Wang
  • Patent number: 10911377
    Abstract: Some embodiments provide a method for an ingress packet processing pipeline of a network forwarding integrated circuit (IC). The ingress packet processing pipeline is for receiving packets from a port of the network forwarding IC and processing the packets to assign different packets to different queues of a traffic management unit of the network forwarding IC. The method receives state data from the traffic management unit. The method stores the state data in a stateful table. The method assigns a particular packet to a particular queue based on the state data received from the traffic management unit and stored in the stateful table.
    Type: Grant
    Filed: December 7, 2017
    Date of Patent: February 2, 2021
    Assignee: Barefoot Networks, Inc.
    Inventors: Yi Li, Michael Feng, Anurag Agrawal, Jeongkeun Lee, Changhoon Kim, Remy Chang
  • Publication number: 20210021543
    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: Application
    Filed: July 31, 2020
    Publication date: January 21, 2021
    Inventors: Masoud Moshref JAVADI, Changhoon KIM, Patrick W. Bosshart, Anurag AGRAWAL
  • Patent number: 10891649
    Abstract: Methods, systems, and apparatus include computer programs encoded on a computer-readable storage medium for dynamic contact information assignment. A method includes: identifying a pool of telephone numbers; assigning the telephone numbers to a pool manager; allocating by the pool manager, subsets of the telephone numbers to a plurality of allocators, each allocator responsible for allocating telephone numbers to an associated group of content sponsors; determining a first allocation of a first subset, the first allocation being distributed among the content sponsors associated with a first allocator, creating first pools each associated with a respective one of the content sponsors associated with the first allocator; reclaiming one or more telephone numbers from a pool of the first pools; and assigning ones of the reclaimed telephone numbers by the first allocator into either other pools of the first pools or back to the pool manager for allocation to other allocators.
    Type: Grant
    Filed: June 12, 2019
    Date of Patent: January 12, 2021
    Assignee: Google LLC
    Inventors: Anurag Agrawal, Girish Baliga, Anshul Kothari, Seung Yi, Tao Huang
  • Publication number: 20210006638
    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: Application
    Filed: August 14, 2020
    Publication date: January 7, 2021
    Inventors: Parag D. Bhide, Alain LOGE, Chaitanya KODEBOYINA, Anurag AGRAWAL
  • Patent number: 10885879
    Abstract: Systems and methods for cropping media for a particular orientation using a computing device are described. In some implementations, a method may first comprise receiving by a video preprocessor of the device, a first frame of media in a first orientation. A first region comprising a first feature within the first frame may be identified, by an image analyzer. A cropping calculator of the device may generate a score for the first region based on a characteristic of the first feature and determine that the score for the first region exceeds a threshold. An image processor of the device may then crop the first frame of the video, responsive to the determination that the score for the first region exceeds the threshold, to include the first region within a predetermined display area comprising a subset of the first frame in a second orientation.
    Type: Grant
    Filed: November 16, 2017
    Date of Patent: January 5, 2021
    Assignee: Google LLC
    Inventors: Anton Kast, Anurag Agrawal
  • Patent number: 10873532
    Abstract: Some embodiments provide a method for a traffic management circuit of a data plane forwarding circuit. The traffic management circuit receives data messages from a set of ingress pipelines and provides the data messages to a set of egress pipelines. The method identifies a flow control event. The method provides metadata regarding the flow control event to a message generation circuit of the data plane forwarding circuit via a bus between the traffic management circuit and the message generation circuit.
    Type: Grant
    Filed: August 22, 2018
    Date of Patent: December 22, 2020
    Assignee: Barefoot Networks, Inc.
    Inventors: Remy Chang, Anurag Agrawal, Yi Li, Michael Feng, Yan Wang
  • Patent number: 10873534
    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: December 22, 2020
    Assignee: Barefoot Networks, Inc.
    Inventors: Michael Gregory Ferrara, Jay Evan Scott Peterson, Steven Licking, Jeongkeun Lee, Patrick Bosshart, Anurag Agrawal