Patents by Inventor David J. Ofelt

David J. Ofelt 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: 10571988
    Abstract: A dispatch module implemented in at least one of a memory or a processing device is operatively coupled to a first processing module and a second processing module. The first processing module has a priority higher than a priority of the second processing module. The dispatch module includes a workload counter associated with the first processing module to provide an indication of a workload at the first processing module. The dispatch module initiates a clock signal at the second processing module only if the indication of the workload at the first processing module satisfies a criterion. The dispatch module sends a data unit to the second processing module for processing only if the indication of the workload at the first processing module satisfies a criterion.
    Type: Grant
    Filed: January 10, 2018
    Date of Patent: February 25, 2020
    Assignee: Juniper Networks, Inc.
    Inventors: Vaishali Kulkarni, Jeffrey G. Libby, David J. Ofelt
  • Patent number: 9880603
    Abstract: A dispatch module implemented in at least one of a memory or a processing device is operatively coupled to a first processing module and a second processing module. The first processing module has a priority higher than a priority of the second processing module. The dispatch module includes a workload counter associated with the first processing module to provide an indication of a workload at the first processing module. The dispatch module initiates a clock signal at the second processing module only if the indication of the workload at the first processing module satisfies a criterion. The dispatch module sends a data unit to the second processing module for processing only if the indication of the workload at the first processing module satisfies a criterion.
    Type: Grant
    Filed: March 13, 2013
    Date of Patent: January 30, 2018
    Assignee: Juniper Networks, Inc.
    Inventors: Vaishali Kulkarni, Jeffrey G. Libby, David J. Ofelt
  • Patent number: 9356880
    Abstract: The invention is directed to techniques for supporting multi-link protocols within a computer network. In one embodiment, a method includes receiving a set of data blocks from a plurality of links in one or more interface cards according to a multi-link protocol and sending the data blocks to a multi-link service card for sequencing. The data blocks may then be sent to the one or more interface cards for communication to a destination device over a computer network. Implementing a multi-link service card may allow a network device, such as a router, to support multi-link protocols.
    Type: Grant
    Filed: July 8, 2013
    Date of Patent: May 31, 2016
    Assignee: Juniper Networks, Inc.
    Inventors: David J. Ofelt, Stephen W. Turner, Dennis C. Ferguson
  • Patent number: 9100323
    Abstract: In general, the invention is directed to techniques for reducing deadlocks that may arise when performing fabric replication. For example, as described herein, a network device includes packet replicators that each comprises a plurality of resource partitions. A replication data structure for a packet received by the network device includes packet replicator nodes that are arranged hierarchically to occupy one or more levels of the replication data structure. Each of the resource partitions in each of the plurality of packet replicators is associated with a different level of the replication data structure. The packet replicators replicate the packet according to the replication data structure, and each of the packet replicators handles the packet using the one of the resource partitions of the packet replicator that is associated with the level of the replication data structure occupied by the node that corresponds to that particular packet replicator.
    Type: Grant
    Filed: December 9, 2013
    Date of Patent: August 4, 2015
    Assignee: Juniper Networks, Inc.
    Inventors: Pradeep Sindhu, Jean-Marc Frailong, Sarin Thomas, Srihari Vegesna, David J. Ofelt, Chang-Hong Wu
  • Patent number: 9077466
    Abstract: In one embodiment, a method can include receiving at an egress schedule module a request to schedule transmission of a group of cells from an ingress queue through a switch fabric of a multi-stage switch. The ingress queue can be associated with an ingress stage of the multi-stage switch. The egress schedule module can be associated with an egress stage of the multi-stage switch. The method can also include determining, in response to the request, that an egress port at the egress stage of the multi-stage switch is available to transmit the group of cells from the multi-stage switch.
    Type: Grant
    Filed: December 3, 2012
    Date of Patent: July 7, 2015
    Assignee: Juniper Networks, Inc.
    Inventors: Sarin Thomas, Srihari Vegesna, Pradeep Sindhu, Chi-Chung Kenny Chen, Jean-Marc Frailong, David J. Ofelt, Philip A. Thomas, Chang-Hong Wu
  • Patent number: 8954409
    Abstract: In general, techniques of the present disclosure relate to synchronizing concurrent access to multiple portions of a data structure. In one example, a method includes, sequentially selecting a plurality of requests from a request queue, wherein at least one of the requests specifies a plurality of requested synchronization objects for corresponding candidate portions of a data structure to which to apply an operation associated with a data element. The method also includes querying one or more sets of identifiers to determine whether one or more of the requested synchronizations objects specified by the selected request are acquirable. The method also includes acquiring each of the requested synchronization objects that are acquirable. The method includes, responsive to acquiring all of the one or more requested synchronization objects, selecting a subset of the candidate portions of the data structure and applying the operation only to the selected subset of the candidate portions.
    Type: Grant
    Filed: September 22, 2011
    Date of Patent: February 10, 2015
    Assignee: Juniper Networks, Inc.
    Inventors: Oren Kerem, Jeffrey G. Libby, Deepak Goel, David J. Ofelt, Anurag P. Gupta
  • Patent number: 8843805
    Abstract: In general, techniques are described for efficiently and transparently partitioning a physical address space of a DRAM part lacking dedicated error protection circuitry to supply addressable error protection bytes for use in detecting and/or correcting bit errors elsewhere present in the physical address space. In one example, a network device includes a DRAM and a memory controller that receives a write command to write data to the DRAM. An address translation module of the memory controller logically partitions the DRAM to define a plurality of physically addressable sections that includes an error protection section for storing error protection bits and one or more data storage sections. The memory controller defines a contiguous logical address space representing the data storage sections. A DRAM controller of the network device communicates with the DRAM to store the data to one of the data storage sections in accordance with the contiguous logical address space.
    Type: Grant
    Filed: March 16, 2012
    Date of Patent: September 23, 2014
    Assignee: Juniper Networks, Inc.
    Inventors: Deepak Goel, Jeffrey G. Libby, Anurag P. Gupta, Abhijit Ghosh, David J. Ofelt
  • Patent number: 8798074
    Abstract: In general, techniques are described for packet queuing within ring networks. In accordance with the techniques, a network device of a ring network comprises a memory having a different queue for each order-dependent pair of the network devices. Each pair represents a different order-dependent combination of the network devices that includes an ingress network device that provides an ingress to the ring network and an egress network device that provides an egress from the ring network. The network device further comprises an interface for receiving a packet from a neighboring one of the plurality of network devices and a control unit that, in response to receiving the packet, stores the packet to one of the queues based on which network devices is the ingress and which network device is the egress for the packet. The control unit forwards the stored packet via the ring network according to a scheduling algorithm.
    Type: Grant
    Filed: October 17, 2011
    Date of Patent: August 5, 2014
    Assignee: Juniper Networks, Inc.
    Inventors: Kireeti Kompella, Pradeep Sindhu, Jean-Marc Frailong, David J. Ofelt
  • Patent number: 8677078
    Abstract: A device for managing multiple instructions to access multiple wide registers may include logic to receive the multiple instructions to access one of the multiple wide registers, associate each received instruction with a corresponding one of multiple buffer memories, and allow simultaneous processing of the multiple instructions associated with each of the multiple buffer memories, where the multiple instructions are processed such that data is transferred between the multiple buffer memories and the multiple wide registers in one operation.
    Type: Grant
    Filed: June 28, 2007
    Date of Patent: March 18, 2014
    Assignee: Juniper Networks, Inc.
    Inventors: Karthikeyan Veerabadran, David J. Ofelt
  • Patent number: 8605722
    Abstract: In general, the invention is directed to techniques for reducing deadlocks that may arise when performing fabric replication. For example, as described herein, a network device includes packet replicators that each comprises a plurality of resource partitions. A replication data structure for a packet received by the network device includes packet replicator nodes that are arranged hierarchically to occupy one or more levels of the replication data structure. Each of the resource partitions in each of the plurality of packet replicators is associated with a different level of the replication data structure. The packet replicators replicate the packet according to the replication data structure, and each of the packet replicators handles the packet using the one of the resource partitions of the packet replicator that is associated with the level of the replication data structure occupied by the node that corresponds to that particular packet replicator.
    Type: Grant
    Filed: April 14, 2010
    Date of Patent: December 10, 2013
    Assignee: Juniper Networks, Inc.
    Inventors: Pradeep Sindhu, Jean-Marc Frailong, Sarin Thomas, Srihari Vegesna, David J. Ofelt, Chang-Hong Wu
  • Patent number: 8582440
    Abstract: A network device includes a receiver component that generates flow control information. The network device also includes a transmitter component that receives a packet for forwarding to the receiver component, receives flow control data for the packet from the receiver component, and provides the packet and the flow control data for the packet to a fabric component. The fabric component performs a congestion management operation for the packet, and forwards the packet to the receiver component based on the flow control data and results of the congestion management operation.
    Type: Grant
    Filed: February 5, 2010
    Date of Patent: November 12, 2013
    Assignee: Juniper Networks, Inc.
    Inventors: David J. Ofelt, Jean-Marc Frailong, Wing Leong Poon, Aibing Zhou, Xianzhi Li, Hongsheng Ping
  • Patent number: 8509069
    Abstract: A method includes receiving packets from a network with a plurality of packet-forwarding engines (PFEs) of a router, wherein the plurality of PFEs are interconnected by a switch fabric, determining an egress one of the PFEs for each of the packets, and forming fixed-sized fabric cells that share data associated with the packets that are destined for the same egress PFE while preventing packets destined for different egress PFEs to share any of the fabric cells. The fabric cells are transmitted through the switch fabric to communicate the packets to the egress PFEs.
    Type: Grant
    Filed: April 5, 2010
    Date of Patent: August 13, 2013
    Assignee: Juniper Networks, Inc.
    Inventors: Wing Leong Poon, Venkatraman Chandrasekaran, Srihari Vegesna, Sarin Thomas, David J. Ofelt
  • Patent number: 8462802
    Abstract: A network device receives traffic associated with a network of intermediate network devices and user devices, classifies the received traffic, and allocates the classified traffic to traffic queues. The network device also schedules particular queued traffic, provided in the traffic queues and bound for particular intermediate network devices, using a hybrid weighted round robin (WRR) scheduler where the hybrid WRR scheduler schedules the particular queued traffic according to one of a 1-level WRR schedule, a 1.5 level WRR schedule, or a 2-level WRR schedule. The network device further provides the particular queued traffic to the particular intermediate network devices based on the scheduling of the hybrid WRR scheduler.
    Type: Grant
    Filed: September 13, 2010
    Date of Patent: June 11, 2013
    Assignee: Juniper Networks, Inc.
    Inventors: Aibing Zhou, John Johnson, Chang-Hong Wu, David J. Ofelt
  • Patent number: 8325749
    Abstract: In one embodiment, a method can include receiving at an egress schedule module a request to schedule transmission of a group of cells from an ingress queue through a switch fabric of a multi-stage switch. The ingress queue can be associated with an ingress stage of the multi-stage switch. The egress schedule module can be associated with an egress stage of the multi-stage switch. The method can also include determining, in response to the request, that an egress port at the egress stage of the multi-stage switch is available to transmit the group of cells from the multi-stage switch.
    Type: Grant
    Filed: December 24, 2008
    Date of Patent: December 4, 2012
    Assignee: Juniper Networks, Inc.
    Inventors: Sarin Thomas, Srihari Vegesna, Pradeep Sindhu, Chi-Chung Kenny Chen, Jean-Marc Frailong, David J. Ofelt, Philip A. Thomas, Chang-Hong Wu
  • Patent number: 8184540
    Abstract: A lifetime-based memory management scheme is described, whereby a network device first determines an expected lifetime for received packets, which correlates to the expected output queue latency time of the packets. The network device then buffers packets having matching lifetimes to memory pages dedicated to that lifetime.
    Type: Grant
    Filed: December 11, 2009
    Date of Patent: May 22, 2012
    Assignee: Juniper Networks, Inc.
    Inventors: Srinivas Perla, David J. Ofelt, Jon Losee
  • Publication number: 20120063313
    Abstract: A network device receives traffic associated with a network of intermediate network devices and user devices, classifies the received traffic, and allocates the classified traffic to traffic queues. The network device also schedules particular queued traffic, provided in the traffic queues and bound for particular intermediate network devices, using a hybrid weighted round robin (WRR) scheduler where the hybrid WRR scheduler schedules the particular queued traffic according to one of a 1-level WRR schedule, a 1.5 level WRR schedule, or a 2-level WRR schedule. The network device further provides the particular queued traffic to the particular intermediate network devices based on the scheduling of the hybrid WRR scheduler.
    Type: Application
    Filed: September 13, 2010
    Publication date: March 15, 2012
    Applicant: JUNIPER NETWORKS, INC.
    Inventors: Aibing ZHOU, John JOHNSON, Chang-Hong WU, David J. OFELT
  • Patent number: 8040901
    Abstract: In general, techniques are described for packet queuing within ring networks. In accordance with the techniques, a network device of a ring network comprises a memory having a different queue for each order-dependent pair of the network devices. Each pair represents a different order-dependent combination of the network devices that includes an ingress network device that provides an ingress to the ring network and an egress network device that provides an egress from the ring network. The network device further comprises an interface for receiving a packet from a neighboring one of the plurality of network devices and a control unit that, in response to receiving the packet, stores the packet to one of the queues based on which network devices is the ingress and which network device is the egress for the packet. The control unit forwards the stored packet via the ring network according to a scheduling algorithm.
    Type: Grant
    Filed: January 27, 2009
    Date of Patent: October 18, 2011
    Assignee: Juniper Networks, Inc.
    Inventors: Kireeti Kompella, Pradeep Sindhu, Jean-Marc Frailong, David J. Ofelt
  • Publication number: 20110194409
    Abstract: A network device includes a receiver component that generates flow control information. The network device also includes a transmitter component that receives a packet for forwarding to the receiver component, receives flow control data for the packet from the receiver component, and provides the packet and the flow control data for the packet to a fabric component. The fabric component performs a congestion management operation for the packet, and forwards the packet to the receiver component based on the flow control data and results of the congestion management operation.
    Type: Application
    Filed: February 5, 2010
    Publication date: August 11, 2011
    Applicant: JUNIPER NETWORKS, INC.
    Inventors: David J. OFELT, Jean-Marc FRAILONG, Wing Leong POON, Aibing ZHOU, Xianzhi LI, Hongsheng PING
  • Publication number: 20100158031
    Abstract: In one embodiment, a method can include receiving at an egress schedule module a request to schedule transmission of a group of cells from an ingress queue through a switch fabric of a multi-stage switch. The ingress queue can be associated with an ingress stage of the multi-stage switch. The egress schedule module can be associated with an egress stage of the multi-stage switch. The method can also include determining, in response to the request, that an egress port at the egress stage of the multi-stage switch is available to transmit the group of cells from the multi-stage switch.
    Type: Application
    Filed: December 24, 2008
    Publication date: June 24, 2010
    Inventors: Sarin Thomas, Srihari Vegesna, Pradeep Sindhu, Chi-Chung Kenny Chen, Jean-Marc Frailong, David J. Ofelt, Philip A. Thomas, Chang-Hong Wu