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: 10575369Abstract: 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: GrantFiled: July 26, 2017Date of Patent: February 25, 2020Assignee: GOOGLE LLCInventors: Thomas Price, Anurag Agrawal
-
Publication number: 20200059531Abstract: 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: ApplicationFiled: November 2, 2016Publication date: February 20, 2020Applicant: GOOGLE LLCInventors: William Coster, Anurag Agrawal
-
Patent number: 10565118Abstract: 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: GrantFiled: December 12, 2017Date of Patent: February 18, 2020Assignee: Google LLCInventors: Anton Kast, William Coster, Anurag Agrawal
-
Publication number: 20200053027Abstract: 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: ApplicationFiled: September 30, 2018Publication date: February 13, 2020Inventors: Masoud Moshref Javadi, Changhoon Kim, Patrick W. Bosshart, Anurag Agrawal
-
Publication number: 20200053028Abstract: 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: ApplicationFiled: September 30, 2018Publication date: February 13, 2020Inventors: Masoud Moshref Javadi, Changhoon Kim, Patrick W. Bosshart, Anurag Agrawal
-
Publication number: 20200053029Abstract: 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: ApplicationFiled: September 30, 2018Publication date: February 13, 2020Inventors: Masoud Moshref Javadi, Changhoon Kim, Patrick W. Bosshart, Anurag Agrawal
-
Publication number: 20200044976Abstract: 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: ApplicationFiled: August 22, 2018Publication date: February 6, 2020Inventors: Remy Chang, Anurag Agrawal, Yi Li, Michael Feng, Yan Wang
-
Publication number: 20200007473Abstract: 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: ApplicationFiled: September 12, 2019Publication date: January 2, 2020Inventors: Changhoon KIM, Xiaozhou LI, Anurag AGRAWAL, Julianne ZHU
-
Patent number: 10523578Abstract: 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: GrantFiled: December 7, 2017Date of Patent: December 31, 2019Assignee: Barefoot Networks, Inc.Inventors: Yi Li, Michael Feng, Anurag Agrawal, Jeongkeun Lee, Changhoon Kim, Remy Chang
-
Patent number: 10505861Abstract: 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: GrantFiled: December 7, 2017Date of Patent: December 10, 2019Assignee: Barefoot Networks, Inc.Inventors: Yi Li, Michael Feng, Anurag Agrawal, Changhoon Kim, Remy Chang
-
Patent number: 10419366Abstract: 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: GrantFiled: October 16, 2017Date of Patent: September 17, 2019Assignee: BAREFOOT NETWORKS, INC.Inventors: Changhoon Kim, Xiaozhou Li, Anurag Agrawal, Julianne Zhu
-
Patent number: 10412018Abstract: 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: GrantFiled: August 21, 2017Date of Patent: September 10, 2019Assignee: BAREFOOT NETWORKS, INC.Inventors: Michael Feng, Anurag Agrawal, Yi Li
-
Patent number: 10403156Abstract: 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: GrantFiled: November 27, 2017Date of Patent: September 3, 2019Assignee: GOOGLE LLCInventors: Varun Soundararajan, Anurag Agrawal
-
Patent number: 10402869Abstract: 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: GrantFiled: February 26, 2016Date of Patent: September 3, 2019Assignee: Google LLCInventors: Anurag Agrawal, Varun Soundararajan, Anshul Kothari
-
Patent number: 10404619Abstract: 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: GrantFiled: March 5, 2017Date of Patent: September 3, 2019Assignee: BAREFOOT NETWORKS, INC.Inventors: Anurag Agrawal, Julianne Zhu
-
Publication number: 20190266980Abstract: 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: ApplicationFiled: November 16, 2017Publication date: August 29, 2019Applicant: GOOGLE LLCInventors: Anton Kast, Anurag Agrawal
-
Patent number: 10354272Abstract: 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: GrantFiled: June 13, 2018Date of Patent: July 16, 2019Assignee: Google LLCInventors: Anurag Agrawal, Girish Baliga, Anshul Kothari, Seung Yi, Tao Huang
-
Patent number: 10341457Abstract: 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: GrantFiled: October 9, 2018Date of Patent: July 2, 2019Assignee: Google LLCInventors: Tuna Toksoz, Thomas Graham Price, Anurag Agrawal
-
Publication number: 20190163638Abstract: 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: ApplicationFiled: December 12, 2017Publication date: May 30, 2019Applicant: GOOGLE LLCInventors: Anton Kast, William Coster, Anurag Agrawal
-
Patent number: 10305899Abstract: 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: GrantFiled: November 6, 2017Date of Patent: May 28, 2019Assignee: Google LLCInventors: Anurag Agrawal, Anshul Kothari, Daniel Andersson