Patents by Inventor Avanindra Godbole

Avanindra Godbole 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: 8705533
    Abstract: A network device assigns unique encoded values, represented by mnemonics, to protocol headers supported by the network device, and defines a plurality of templates, where each template includes a set of the mnemonics. The network device also stores the plurality of templates in a template table, where the template table enables the network device to create one or more protocol headers for packets transmitted by the network device.
    Type: Grant
    Filed: December 10, 2010
    Date of Patent: April 22, 2014
    Assignee: Juniper Networks, Inc.
    Inventors: Chandrasekaran Venkatraman, Avanindra Godbole
  • Patent number: 8706896
    Abstract: Output logic generates read requests using a programmable schedule that controls read bandwidth for multiple data streams and stores the read requests in a queuing device. The output logic also dequeues the read requests based on a similar programmable schedule, forwards the read requests to the memory, and reads data units from the memory based on the read requests.
    Type: Grant
    Filed: August 16, 2012
    Date of Patent: April 22, 2014
    Assignee: Juniper Networks, Inc.
    Inventors: Song Zhang, Phil Lacroute, Anurag P. Gupta, Raymond M. Lim, Avanindra Godbole, Debashis Basu
  • Patent number: 8681795
    Abstract: A network device may receive a packet including control tags in a header portion of the packet and may extract candidate tags from the control tags in the header portion of the packet. The network device may compress, using a first lookup table, the candidate tags to obtain keys corresponding to the candidate tags, where each of the keys is represented in a compressed format relative to the corresponding candidate tags. The network device may further determine a final key based on the first keys and determine a priority class for the packet based on a lookup operation of the final key into a second lookup table. The network device may further write the packet, or a reference to the packet, to a selected priority queue, of a number of priority queues, where the priority queue is selected based on the determined priority class.
    Type: Grant
    Filed: December 28, 2011
    Date of Patent: March 25, 2014
    Assignee: Juniper Networks, Inc.
    Inventors: Eric M. Verwillow, Jean Marc Frailong, Avanindra Godbole
  • Patent number: 8681681
    Abstract: A system that processes single stream multicast data includes multiple queues, a dequeue engine, and/or a queue control engine. The queues temporarily store data. At least one of the queues stores single stream multicast data. A multicast count is associated with the single stream multicast data and corresponds to a number of destinations to which the single stream multicast data is to be sent. The dequeue engine dequeues data from the queues. If the data corresponds to the single stream multicast data, the dequeue engine examines the multicast count associated with the single stream multicast data and dequeues the single stream multicast data based on the multicast count. The queue control engine examines one of the queues to determine whether to drop data from the queue and marks the data based on a result of the determination.
    Type: Grant
    Filed: November 16, 2011
    Date of Patent: March 25, 2014
    Assignee: Juniper Networks, Inc.
    Inventors: Jayabharat Boddu, Debashis Basu, Avanindra Godbole
  • Patent number: 8654645
    Abstract: A system selectively drops data from queues. The system includes a drop table that stores drop probabilities. The system selects one of the queues to examine and generates an index into the drop table to identify one of the drop probabilities for the examined queue. The system then determines whether to drop data from the examined queue based on the identified drop probability.
    Type: Grant
    Filed: December 17, 2012
    Date of Patent: February 18, 2014
    Assignee: Juniper Networks, Inc.
    Inventors: Pradeep Sindhu, Debashis Basu, Jayabharat Boddu, Avanindra Godbole
  • Patent number: 8599868
    Abstract: A system determines bandwidth use by queues in a network device. To do this, the system determines an instantaneous amount of bandwidth used by each of the queues and an average amount of bandwidth used by each of the queues. The system then identifies bandwidth use by each of the queues based on the instantaneous bandwidth used and the average bandwidth used by each of the queues.
    Type: Grant
    Filed: December 29, 2010
    Date of Patent: December 3, 2013
    Assignee: Juniper Networks, Inc.
    Inventors: Pradeep Sindhu, Debashis Basu, Jayabharat Boddu, Avanindra Godbole
  • Patent number: 8593970
    Abstract: In one embodiment, a processor-readable medium can store code representing instructions that when executed by a processor cause the processor to receive a value representing a congestion level of a receive queue and a value representing a state of a transmit queue. At least a portion of the transmit queue can be defined by a plurality of packets addressed to the receive queue. A rate value for the transmit queue can be defined based on the value representing the congestion level of the receive queue and the value representing the state of the transmit queue. The processor-readable medium can store code representing instructions that when executed by the processor cause the processor to define a suspension time value for the transmit queue based on the value representing the congestion level of the receive queue and the value representing the state of the transmit queue.
    Type: Grant
    Filed: July 3, 2012
    Date of Patent: November 26, 2013
    Assignee: Juniper Networks, Inc.
    Inventors: Avanindra Godbole, Arghajit Basu, Jean-Marc Frailong, Abhijeet Sampatrao Jadav, Naveen Jain, Pradeep Sindhu
  • Publication number: 20130258853
    Abstract: A system provides congestion control and includes multiple queues that temporarily store data and a drop engine. The system associates a value with each of the queues, where each of the values relates to an amount of memory associated with the queue. The drop engine compares the value associated with a particular one of the queues to one or more programmable thresholds and selectively performs explicit congestion notification or packet dropping on data in the particular queue based on a result of the comparison.
    Type: Application
    Filed: May 24, 2013
    Publication date: October 3, 2013
    Applicant: JUNIPER NETWORKS, INC.
    Inventors: Pradeep Sindhu, Debashis Basu, Jayabharat Boddu, Avanindra Godbole
  • Patent number: 8520675
    Abstract: Methods and systems consistent with the present invention provide efficient packet replication in a router in order to multicast a stream of data. Packets are replicated and processed in a multithreaded environment. Embodiments consistent with the present invention implement a two-stage process for packet replication. The first stage thread will recirculate the packet to multiple second-stage threads. These second-stage threads will then create one or more outgoing copies of the packet. In this way, the copies are handled by multiple threads running in parallel.
    Type: Grant
    Filed: December 23, 2008
    Date of Patent: August 27, 2013
    Assignee: Juniper Networks, Inc.
    Inventors: Jean-Marc Frailong, Jeffrey G. Libby, Anurag P. Gupta, John Keen, Rajesh Nair, Avanindra Godbole, Sharada Yeluri
  • Patent number: 8451852
    Abstract: A system provides congestion control and includes multiple queues that temporarily store data and a drop engine. The system associates a value with each of the queues, where each of the values relates to an amount of memory associated with the queue. The drop engine compares the value associated with a particular one of the queues to one or more programmable thresholds and selectively performs explicit congestion notification or packet dropping on data in the particular queue based on a result of the comparison.
    Type: Grant
    Filed: September 1, 2010
    Date of Patent: May 28, 2013
    Assignee: Juniper Networks, Inc.
    Inventors: Pradeep Sindhu, Debashis Basu, Jayabharat Boddu, Avanindra Godbole
  • Patent number: 8335158
    Abstract: A system selectively drops data from queues. The system includes a drop table that stores drop probabilities. The system selects one of the queues to examine and generates an index into the drop table to identify one of the drop probabilities for the examined queue. The system then determines whether to drop data from the examined queue based on the identified drop probability.
    Type: Grant
    Filed: May 14, 2010
    Date of Patent: December 18, 2012
    Assignee: Juniper Networks, Inc.
    Inventors: Pradeep Sindhu, Debashis Basu, Jayabharat Boddu, Avanindra Godbole
  • Patent number: 8332622
    Abstract: Methods and systems consistent with the present invention provide a programmable table which allows software to define a plurality of branching functions, each of which maps a vector of condition codes to a branch offset. This technique allows for a flexible multi-way branching functionality, using a conditional branch outcome table that can be specified by a programmer. Any instruction can specify the evaluation of arbitrary conditional expressions to compute the values for the condition codes, and can choose a particular branching function. When the processor executes the instruction, the processor's arithmetic/logical functional units evaluate the conditional expressions and then the processor performs the branch operation, according to the specified branching function.
    Type: Grant
    Filed: December 12, 2011
    Date of Patent: December 11, 2012
    Assignee: Juniper Networks, Inc.
    Inventors: Anurag P Gupta, John Keen, Jeffrey G Libby, Jean-Marc Frailong, Avanindra Godbole, Sharada Yeluri
  • Publication number: 20120275307
    Abstract: In one embodiment, a method includes sending a first flow control signal to a first stage of transmit queues when a receive queue is in a congestion state. The method also includes sending a second flow control signal to a second stage of transmit queues different from the first stage of transmit queues when the receive queue is in the congestion state.
    Type: Application
    Filed: July 9, 2012
    Publication date: November 1, 2012
    Applicant: Juniper Networks, Inc.
    Inventors: Avanindra Godbole, Pradeep Sindhu, Jean-Marc Frailong
  • Patent number: 8271672
    Abstract: Output logic generates read requests using a programmable schedule that controls read bandwidth for multiple data streams and stores the read requests in a queuing device. The output logic also dequeues the read requests based on a similar programmable schedule, forwards the read requests to the memory, and reads data units from the memory based on the read requests.
    Type: Grant
    Filed: August 31, 2001
    Date of Patent: September 18, 2012
    Assignee: Juniper Networks, Inc.
    Inventors: Song Zhang, Phil Lacroute, Anurag P. Gupta, Raymond M. Lim, Avanindra Godbole, Debashis Basu
  • Patent number: 8233496
    Abstract: A network device constructs a notification corresponding to a received multicast data unit, where the notification includes administrative data associated with the multicast data unit that does not include a payload of the multicast data unit. The network device replicates the notification at least three different processing elements at different locations in a processing path of the network device to produce multiple replicated data items and produces a copy of the multicast data unit for each of replicated notifications. The network device forwards each copy of the multicast data unit towards a multicast destination.
    Type: Grant
    Filed: March 12, 2010
    Date of Patent: July 31, 2012
    Assignee: Juniper Networks, Inc.
    Inventors: Pradeep Sindhu, Debashis Basu, Pankaj Patel, Raymond Lim, Avanindra Godbole, Tatao Chuang, Chi-Chung K. Chen, Jeffrey G. Libby, Dennis Ferguson, Philippe Lacroute, Gerald Cheung
  • Patent number: 8218442
    Abstract: In one embodiment, a method includes sending a first flow control signal to a first stage of transmit queues when a receive queue is in a congestion state. The method also includes sending a second flow control signal to a second stage of transmit queues different from the first stage of transmit queues when the receive queue is in the congestion state.
    Type: Grant
    Filed: September 30, 2008
    Date of Patent: July 10, 2012
    Assignee: Juniper Networks, Inc.
    Inventors: Avanindra Godbole, Pradeep Sindhu, Jean-Marc Frailong
  • Patent number: 8213308
    Abstract: In one embodiment, a processor-readable medium can store code representing instructions that when executed by a processor cause the processor to receive a value representing a congestion level of a receive queue and a value representing a state of a transmit queue. At least a portion of the transmit queue can be defined by a plurality of packets addressed to the receive queue. A rate value for the transmit queue can be defined based on the value representing the congestion level of the receive queue and the value representing the state of the transmit queue. The processor-readable medium can store code representing instructions that when executed by the processor cause the processor to define a suspension time value for the transmit queue based on the value representing the congestion level of the receive queue and the value representing the state of the transmit queue.
    Type: Grant
    Filed: September 11, 2009
    Date of Patent: July 3, 2012
    Assignee: Juniper Networks, Inc.
    Inventors: Avanindra Godbole, Arghajit Basu, Jean-Marc Frailong, Abhijeet Sampatrao Jadav, Naveen Jain, Pradeep Sindhu
  • Patent number: 8154996
    Abstract: In one embodiment, a method, comprising receiving at a receive side of a physical link a request to suspend transmission of data from a queue within a transmit side of a first stage of queues and to suspend transmission via a path including the physical link, a portion of the first stage of queues, and a portion of a second stage of queues. The method includes sending, in response to the request, a flow control signal to a flow control module configured to schedule transmission of the data from the queue within the transmit side of the first stage of queues. The flow control signal is associated with a first control loop including the path and differing from a second control loop that excludes the first stage of queues.
    Type: Grant
    Filed: September 30, 2008
    Date of Patent: April 10, 2012
    Assignee: Juniper Networks, Inc.
    Inventors: Avanindra Godbole, Pradeep Sindhu, Jean-Marc Frailong
  • Publication number: 20120084534
    Abstract: Methods and systems consistent with the present invention provide a programmable table which allows software to define a plurality of branching functions, each of which maps a vector of condition codes to a branch offset. This technique allows for a flexible multi-way branching functionality, using a conditional branch outcome table that can be specified by a programmer. Any instruction can specify the evaluation of arbitrary conditional expressions to compute the values for the condition codes, and can choose a particular branching function. When the processor executes the instruction, the processor's arithmetic/logical functional units evaluate the conditional expressions and then the processor performs the branch operation, according to the specified branching function.
    Type: Application
    Filed: December 12, 2011
    Publication date: April 5, 2012
    Applicant: JUNIPER NETWORKS, INC.
    Inventors: Anurag P. GUPTA, John Keen, Jeffrey G. Libby, Jean-Marc Frailong, Avanindra Godbole, Sharida Yeluri
  • Publication number: 20120063318
    Abstract: A system that processes single stream multicast data includes multiple queues, a dequeue engine, and/or a queue control engine. The queues temporarily store data. At least one of the queues stores single stream multicast data. A multicast count is associated with the single stream multicast data and corresponds to a number of destinations to which the single stream multicast data is to be sent. The dequeue engine dequeues data from the queues. If the data corresponds to the single stream multicast data, the dequeue engine examines the multicast count associated with the single stream multicast data and dequeues the single stream multicast data based on the multicast count. The queue control engine examines one of the queues to determine whether to drop data from the queue and marks the data based on a result of the determination.
    Type: Application
    Filed: November 16, 2011
    Publication date: March 15, 2012
    Applicant: JUNIPER NETWORKS, INC.
    Inventors: Jayabharat BODDU, Debashis Basu, Avanindra Godbole