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: 10575369
    Abstract: A voice-commanded common computing device may be selectively paired other computing devices in a shared network. The common computing device may detect co-presence of paired devices on the shared network, and may determine when audio and/or video content may be cast to devices on the shared network based on the detected co-presence. Audio content may include messages composed by a first user of a first device in the shared network, to be audibly output to a second user of a second device in the shared network. Casting of personal information may include positive authentication and verification prior to audible output of the personal information.
    Type: Grant
    Filed: July 26, 2017
    Date of Patent: February 25, 2020
    Assignee: GOOGLE LLC
    Inventors: Thomas Price, Anurag Agrawal
  • Publication number: 20200059531
    Abstract: A method of reducing download requirements for display of content includes transmitting, by a client device to a content server, a content request, the request including an identifier for each of one or more pre-cached media files stored on the client device, the transmission being carried out whilst the client device is connected to a first network. The method further includes receiving, by the client device from the content server, a response comprising instructions to display a selected one of the pre-cached media files, the response including additional display instructions for display of the selected pre-cached media file, and displaying, by the client device, the pre-cached media file according to the additional display instructions.
    Type: Application
    Filed: November 2, 2016
    Publication date: February 20, 2020
    Applicant: GOOGLE LLC
    Inventors: William Coster, Anurag Agrawal
  • Patent number: 10565118
    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: Grant
    Filed: December 12, 2017
    Date of Patent: February 18, 2020
    Assignee: Google LLC
    Inventors: Anton Kast, William Coster, Anurag Agrawal
  • Publication number: 20200053027
    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: September 30, 2018
    Publication date: February 13, 2020
    Inventors: Masoud Moshref Javadi, Changhoon Kim, Patrick W. Bosshart, Anurag Agrawal
  • Publication number: 20200053028
    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: September 30, 2018
    Publication date: February 13, 2020
    Inventors: Masoud Moshref Javadi, Changhoon Kim, Patrick W. Bosshart, Anurag Agrawal
  • Publication number: 20200053029
    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: September 30, 2018
    Publication date: February 13, 2020
    Inventors: Masoud Moshref Javadi, Changhoon Kim, Patrick W. Bosshart, Anurag Agrawal
  • Publication number: 20200044976
    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: Application
    Filed: August 22, 2018
    Publication date: February 6, 2020
    Inventors: Remy Chang, Anurag Agrawal, Yi Li, Michael Feng, Yan Wang
  • Publication number: 20200007473
    Abstract: Some embodiments of the invention provide a forwarding element that can be configured through in-band data-plane messages from a remote controller that is a physically separate machine from the forwarding element. The forwarding element of some embodiments has data plane circuits that include several configurable message-processing stages, several storage queues, and a data-plane configurator. A set of one or more message-processing stages of the data plane are configured (1) to process configuration messages received by the data plane from the remote controller and (2) to store the configuration messages in a set of one or more storage queues. The data-plane configurator receives the configuration messages stored in the set of storage queues and configures one or more of the configurable message-processing stages based on configuration data in the configuration messages.
    Type: Application
    Filed: September 12, 2019
    Publication date: January 2, 2020
    Inventors: Changhoon KIM, Xiaozhou LI, Anurag AGRAWAL, Julianne ZHU
  • Patent number: 10523578
    Abstract: Some embodiments provide a method for a traffic management unit of a network forwarding integrated circuit (IC). The traffic management unit includes multiple queues for storing packets. Each stored packet is (i) received by the traffic management unit from one of multiple ingress packet processing pipelines and (ii) for processing by an egress packet processing pipeline after being released from the queue storing the packet. The method determines that a particular one of the queues has crossed a threshold amount of stored packet data. The method provides queue state data including an identifier of the particular queue and a current amount of data stored in the particular queue to at least a subset of the multiple ingress pipelines. The ingress pipelines use the provided data to process subsequent packets.
    Type: Grant
    Filed: December 7, 2017
    Date of Patent: December 31, 2019
    Assignee: Barefoot Networks, Inc.
    Inventors: Yi Li, Michael Feng, Anurag Agrawal, Jeongkeun Lee, Changhoon Kim, Remy Chang
  • Patent number: 10505861
    Abstract: Some embodiments provide a network forwarding integrated circuit (IC) including multiple configurable ingress pipelines, multiple configurable egress pipelines, a traffic management unit, and a statistics bus. The configurable ingress pipelines are for processing packets received from ports of the network forwarding IC. The configurable egress pipelines are for processing packets to be transmitted out the ports of the network forwarding IC. The traffic management unit includes multiple queues, each of which corresponds to one of the egress pipelines, and is for receiving a packet from an ingress pipeline and enqueuing the packet into one of the queues. The statistics bus connects the traffic management unit to at least a subset of the ingress pipelines, and is for providing the ingress pipelines with state information regarding the queues.
    Type: Grant
    Filed: December 7, 2017
    Date of Patent: December 10, 2019
    Assignee: Barefoot Networks, Inc.
    Inventors: Yi Li, Michael Feng, Anurag Agrawal, Changhoon Kim, Remy Chang
  • Patent number: 10419366
    Abstract: Some embodiments of the invention provide a forwarding element that can be configured through in-band data-plane messages from a remote controller that is a physically separate machine from the forwarding element. The forwarding element of some embodiments has data plane circuits that include several configurable message-processing stages, several storage queues, and a data-plane configurator. A set of one or more message-processing stages of the data plane are configured (1) to process configuration messages received by the data plane from the remote controller and (2) to store the configuration messages in a set of one or more storage queues. The data-plane configurator receives the configuration messages stored in the set of storage queues and configures one or more of the configurable message-processing stages based on configuration data in the configuration messages.
    Type: Grant
    Filed: October 16, 2017
    Date of Patent: September 17, 2019
    Assignee: BAREFOOT NETWORKS, INC.
    Inventors: Changhoon Kim, Xiaozhou Li, Anurag Agrawal, Julianne Zhu
  • Patent number: 10412018
    Abstract: Some embodiments provide a method for scheduling a packet to be dequeued to a processing pipeline of a hardware forwarding element. The method selects a node representing one of multiple ports associated with the processing pipeline. For each of one or more layers of logical queues, the method (i) identifies a set of logical queue nodes associated with a previously selected node based on a configuration that maps multiple physical queues to the multiple ports via the one or more layers of logical queues and (ii) selects one of the identified logical queue nodes based on properties of the identified logical queue nodes. The method selects one of a set of physical queues associated with a selected logical queue node of the last layer of logical queues. The method dequeues a next packet from the selected physical queue for processing by the processing pipeline.
    Type: Grant
    Filed: August 21, 2017
    Date of Patent: September 10, 2019
    Assignee: BAREFOOT NETWORKS, INC.
    Inventors: Michael Feng, Anurag Agrawal, Yi Li
  • Patent number: 10403156
    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: November 27, 2017
    Date of Patent: September 3, 2019
    Assignee: GOOGLE LLC
    Inventors: Varun Soundararajan, Anurag Agrawal
  • Patent number: 10402869
    Abstract: Systems and methods for automatically verifying an identifier of a content provider are provided. A first identifier, a content item, and a uniform resource locator are received from a content provider. The domain of the uniform resource locator is determined. A plurality of second resources under the domain are accessed and stored in memory. From the plurality of second resources, a plurality of second identifiers are detected. A map of domain and a plurality of second identifiers is created. Using the map, the first identifier is compared to each of the plurality of second identifiers. If there is a match, the first identifier is approved to be used with the content item. The first identifier may be displayed on a user device with the content item.
    Type: Grant
    Filed: February 26, 2016
    Date of Patent: September 3, 2019
    Assignee: Google LLC
    Inventors: Anurag Agrawal, Varun Soundararajan, Anshul Kothari
  • Patent number: 10404619
    Abstract: A method of multicasting packets by a forwarding element that includes several packet replicators and several egress pipelines. Each packet replicator receives a data structure associated with a multicast packet that identifies a multicast group. Each packet replicator identifies a first physical egress port of a first egress pipeline for sending the multicast packet to a member of the multicast group. The first physical egress port is a member of LAG. Each packet replicator determines that the first physical egress port is not operational and identifies a second physical port in the LAG for sending the multicast packet to the member of the multicast group. When a packet replicator is connected to the same egress pipeline as the second physical egress, the packet replicator provides the identification of the second physical egress port to the egress pipeline to send the packet to the multicast member. Otherwise the packet replicator drops the packet.
    Type: Grant
    Filed: March 5, 2017
    Date of Patent: September 3, 2019
    Assignee: BAREFOOT NETWORKS, INC.
    Inventors: Anurag Agrawal, Julianne Zhu
  • Publication number: 20190266980
    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: November 16, 2017
    Publication date: August 29, 2019
    Applicant: GOOGLE LLC
    Inventors: Anton Kast, Anurag Agrawal
  • Patent number: 10354272
    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 13, 2018
    Date of Patent: July 16, 2019
    Assignee: Google LLC
    Inventors: Anurag Agrawal, Girish Baliga, Anshul Kothari, Seung Yi, Tao Huang
  • Patent number: 10341457
    Abstract: This document describes a content caching system for pre-loading digital components, the system including a communication interface configured to communicate with a remote device over a wireless network, a local content cache; and an evaluation system comprising one or more processors. The one or more operations include pre-loading a digital component for rendering in a browser at a time that is subsequent to a time of the pre-loading, registering a scheme of a network reference for the cached digital component, with the scheme comprising a specified portion of the network reference for the cached digital component; retrieving, from the local content cache, the pre-loaded digital component associated with the digital component tag comprising the network reference; and rendering, from the local content cache, the pre-loaded digital component in a graphical user interface rather than requesting the digital component from the remote device.
    Type: Grant
    Filed: October 9, 2018
    Date of Patent: July 2, 2019
    Assignee: Google LLC
    Inventors: Tuna Toksoz, Thomas Graham Price, Anurag Agrawal
  • Publication number: 20190163638
    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: December 12, 2017
    Publication date: May 30, 2019
    Applicant: GOOGLE LLC
    Inventors: Anton Kast, William Coster, Anurag Agrawal
  • Patent number: 10305899
    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: November 6, 2017
    Date of Patent: May 28, 2019
    Assignee: Google LLC
    Inventors: Anurag Agrawal, Anshul Kothari, Daniel Andersson