Patents by Inventor Dennis C. Ferguson
Dennis C. Ferguson 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: 8189605Abstract: A method and apparatus for switching a data packet between a source and destination in a network. The data packet includes a header portion and a data portion. The header portion includes routing information for the data packet. The method includes defining a data path in the router comprising a path through the router along which the data portion of the data packet travels and defining a control path comprising a path through the router along which routing information from the header portion travels. The method includes separating the data path and control path in the router such that the routing information can be separated from the data portion allowing for the separate processing of each in the router. The data portion can be stored in a global memory while routing decisions are made on the routing information in the control path.Type: GrantFiled: December 31, 2008Date of Patent: May 29, 2012Assignee: Juniper Networks, Inc.Inventors: Pradeep S. Sindhu, Kireeti Kompella, Dennis C. Ferguson, Bjorn O Liencres, Nalini Agarwal, Hann-Hwan Ju, Raymond Marcelino Manese Lim, Rasoul Mirzazadeh Oskouy, Sreeram Veeragandham
-
Patent number: 8189576Abstract: A system includes an input device configured to receive a packet having a header and a packet processing device. The packet processing device is configured to examine the header, identify at least one function from a group of functions based on at least a portion of the header, where the group of functions includes an index table lookup function, a filtering function, and a longest best match lookup function, perform the identified at least one function for the packet to obtain a result, and forward the packet using the result.Type: GrantFiled: August 18, 2004Date of Patent: May 29, 2012Assignee: Juniper Networks, Inc.Inventors: Dennis C. Ferguson, Rajiv Patel, Gerald Cheung, Pradeep S. Sindhu
-
Patent number: 8170028Abstract: A network device includes an input interface, at least one processing path and an output interface. The input interface receives data units on a plurality of streams and assigns a first sequence number to each of the received data units. The at least one processing path performs a route look-up for each of the data units, where the route look-up determines a routing destination for a respective data unit. The output interface assigns a second sequence number to each of the processed data units based on a number of memory references associated with the route look-up for each of the data units and re-orders the processed data units based on the second sequence number assigned to each of the processed data units.Type: GrantFiled: July 29, 2009Date of Patent: May 1, 2012Assignee: Juniper Networks, Inc.Inventors: Dennis C Ferguson, Hann-Hwan Ju, Atsushi Kasuya, Gerald Cheung, Devereaux C Chen
-
Publication number: 20120057597Abstract: A method and apparatus for in-line processing a data packet while routing the packet through a router in a system transmitting data packets between a source and a destination over a network including the router. The method includes receiving the data packet and pre-processing layer header data for the data packet as the data packet is received and prior to transferring any portion of the data packet to packet memory. The data packet is thereafter stored in the packet memory. A routing through the router is determined including a next hop index describing the next connection in the network. The data packet is retrieved from the packet memory and a new layer header for the data packet is constructed from the next hop index while the data packet is being retrieved from memory. The new layer header is coupled to the data packet prior to transfer from the router.Type: ApplicationFiled: November 11, 2011Publication date: March 8, 2012Applicant: JUNIPER NETWORKS, INC.Inventors: Rasoul Mirzazadeh OSKOUY, Dennis C. FERGUSON, Hann-Hwan JU, Raymond Marcelino Manese LIM, Pradeep S. SINDHU, Sreeram VEERAGANDHAM, Jeff ZIMMER, Michael M.Y. HUI
-
Patent number: 8117333Abstract: A network device includes at least one input interface, at least one processing path and at least one output interface. The at least one input interface receives data blocks from a plurality of streams in a first order. The at least one processing path processes each of the data blocks, the processing including performing one or more route look-ups for each of the data blocks. The at least one output interface re-orders the data blocks based on a number of the one or more route look-ups associated with each of the data blocks.Type: GrantFiled: April 22, 2003Date of Patent: February 14, 2012Assignee: Juniper Networks, Inc.Inventors: Junying James Yu, Dennis C. Ferguson, Hasan F. Ugurdag, Atsushi Kasuya
-
Publication number: 20120027019Abstract: Ordering logic ensures that data items being processed by a number of parallel processing units are unloaded from the processing units in the original per-flow order that the data items were loaded into the parallel processing units. The ordering logic includes a pointer memory, a tail vector, and a head vector. Through these three elements, the ordering logic keeps track of a number of “virtual queues” corresponding to the data flows. A round robin arbiter unloads data items from the processing units only when a data item is at the head of its virtual queue.Type: ApplicationFiled: September 30, 2011Publication date: February 2, 2012Applicant: JUNIPER NETWORKS, INC.Inventors: Dennis C. FERGUSON, Philippe LACROUTE, Chi-Chung CHEN, Gerald CHEUNG, Tatao CHUANG, Pankaj PATEL, Viswesh ANANTHAKRISHNAN
-
Patent number: 8082364Abstract: A software module operating within a router, such as an operating system, manages state information within a hierarchically ordered and temporally-linked data structure. The software module sends state change messages to other software modules within the router, referred to as consumers, in an order that corresponds to the hierarchical order and the temporal linking. The data structure may comprise a plurality of objects to store state information. The operating system may receive event messages that indicate a change to the state information. The objects may be hierarchically linked in accordance with a hierarchy representing relationships of event messages. The objects may be temporally linked in accordance with the order in which the operating system receives event messages. The operating system may traverse the data structure according to the temporal and hierarchical links to select state change messages to send to a consumer.Type: GrantFiled: March 28, 2011Date of Patent: December 20, 2011Assignee: Juniper Networks, Inc.Inventors: David M. Katz, Dennis C. Ferguson
-
Patent number: 8077724Abstract: A method and apparatus for in-line processing a data packet while routing the packet through a router in a system transmitting data packets between a source and a destination over a network including the router. The method includes receiving the data packet and pre-processing layer header data for the data packet as the data packet is received and prior to transferring any portion of the data packet to packet memory. The data packet is thereafter stored in the packet memory. A routing through the router is determined including a next hop index describing the next connection in the network. The data packet is retrieved from the packet memory and a new layer header for the data packet is constructed from the next hop index while the data packet is being retrieved from memory. The new layer header is coupled to the data packet prior to transfer from the router.Type: GrantFiled: August 13, 2010Date of Patent: December 13, 2011Assignee: Juniper Networks, Inc.Inventors: Rasoul Mirzazadeh Oskouy, Dennis C Ferguson, Hann-Hwan Ju, Raymond Marcelino Manese Lim, Pradeep S Sindhu, Sreeram Veeragandham, Jeff Zimmer, Michael M. Y. Hui
-
Patent number: 8059543Abstract: Ordering logic ensures that data items being processed by a number of parallel processing units are unloaded from the processing units in the original per-flow order that the data items were loaded into the parallel processing units. The ordering logic includes a pointer memory, a tail vector, and a head vector. Through these three elements, the ordering logic keeps track of a number of “virtual queues” corresponding to the data flows. A round robin arbiter unloads data items from the processing units only when a data item is at the head of its virtual queue.Type: GrantFiled: June 15, 2010Date of Patent: November 15, 2011Assignee: Juniper Networks, Inc.Inventors: Dennis C. Ferguson, Philippe Lacroute, Chi-Chung Chen, Gerald Cheung, Tatao Chuang, Pankaj Patel, Viswesh Anathakrishnan
-
Publication number: 20110264822Abstract: Methods and devices for processing packets are provided.Type: ApplicationFiled: June 17, 2011Publication date: October 27, 2011Applicant: JUNIPER NETWORKS, INC.Inventors: Dennis C. FERGUSON, Rajiv PATEL, Gerald CHEUNG, Pradeep SINDHU
-
Publication number: 20110235643Abstract: A network device for performing redirect checking includes an input device and processing logic. The input device receives a data packet on a first one of a number of interfaces. The data packet includes source and destination addresses. The processing logic assigns an incoming interface to the data packet and generates forwarding information identifying a next hop for the data packet. The processing logic also identifies an outgoing interface based on the next hop and determines whether the incoming interface index is equal to the outgoing interface index. The processing logic also determines whether the data packet originated from a station that is part of the same subnet as the next hop. When both of these conditions are met, the processing logic generates a redirect message.Type: ApplicationFiled: June 10, 2011Publication date: September 29, 2011Applicant: JUNIPER NETWORKS, INC.Inventors: Raymond Marcelino Manese LIM, Dennis C. Ferguson, Jeffrey Glenn Libby
-
Publication number: 20110235642Abstract: A network device includes one or more sprayers, multiple packet processors, and one or more desprayers. The sprayers receive packets on at least one incoming packet stream and distribute the packets according to a load balancing scheme that balances the number of bytes of packet data that is given to each of the packet processors. The packet processors receive the packets from the sprayers and process the packets to determine routing information for the packets. The desprayers receive the processed packets from the packet processors and transmit the packets on at least one outgoing packet stream based on the routing information.Type: ApplicationFiled: June 6, 2011Publication date: September 29, 2011Applicant: JUNIPER NETWORKS, INC.Inventors: Stefan DYCKERHOFF, Pankaj Patel, Pradeep Sindhu, Ashok Krishnamurthi, Hann-Hwan Ju, Ramalingam K. Anand, Dennis C. Ferguson, Chang-Hong Wu
-
Patent number: 8004980Abstract: A data flow rate policer enforces data flow policies for a number of data flows using a probabilistic policy enforcement mechanism. The policer includes a memory that stores the state of each data flow in a compact data structure. Additionally, the policer includes one or more policing engines that implement the actual data flow policies based on information derived from the data structures. The policing engines may be implemented in hardware to increase performance.Type: GrantFiled: March 26, 2010Date of Patent: August 23, 2011Assignee: Juniper Networks, Inc.Inventors: Dennis C Ferguson, Devereaux C Chen, John W Stewart, III, James Washburn, Jeffrey R Zimmer
-
Patent number: 7995586Abstract: A network device for processing data packets includes input logic, a register, route lookup logic and output processing logic. The input logic receives a data packet having at least one multi-protocol label switching (MPLS) tag, stores the packet and forwards a portion of the packet including the MPLS tag. The route lookup logic receives the portion of the packet, generates next hop information based on the MPLS tag and determines whether at least one MPLS tag is to be removed from the packet before the packet is to be output by the network device. The route lookup logic also modifies a start offset value in the register for each MPLS tag that is to be removed and forwards the start offset. The output processing logic receives the start offset and begins processing the data packet for output at a location identified by the start offset.Type: GrantFiled: February 26, 2010Date of Patent: August 9, 2011Assignee: Juniper Networks, Inc.Inventors: Dennis C. Ferguson, Der-Hwa Gan
-
Patent number: 7986717Abstract: A transmitting system inserts runt abort packets in an outgoing data stream during idle time inter-frame time fill. The runt abort packets cause the receiving system to synchronize itself to the transmitting system so that even if an error during inter-frame time fill causes the receiving system to go into an erroneous state, the receiving system will be synchronized with the transmitting system before receiving valid data. In one embodiment, the transmitting system transmits data in packets over SONET. The packet data is scrambled at the transmitting end and descrambled at the receiving end. Runt abort packets sent during inter-frame time fill resynchronize the descrambler. If there is an error in the inter-frame time fill bytes, causing the receiving end descrambler to no longer be synchronized with the transmitting end scrambler, the runt abort packets will cause the descrambler to resynchronize state with the transmitting scrambler.Type: GrantFiled: June 26, 2009Date of Patent: July 26, 2011Assignee: Juniper Networks, Inc.Inventors: Dennis C. Ferguson, Devereaux C. Chen, Eric M. Verwillow, Ramesh Padmanabhan, Thomas Michael Skibo
-
Patent number: 7986629Abstract: Methods and devices for processing packets are provided. The processing device may Include an input interface for receiving data units containing header information of respective packets; a first module configurable to perform packet filtering based on the received data units; a second module configurable to perform traffic analysis based on the received data units; a third module configurable to perform load balancing based on the received data units; and a fourth module configurable to perform route lookups based on the received data units.Type: GrantFiled: January 29, 2010Date of Patent: July 26, 2011Assignee: Juniper Networks, Inc.Inventors: Dennis C. Ferguson, Rajiv Patel, Gerald Cheung, Pradeep Sindhu
-
Patent number: 7983290Abstract: A network device includes one or more sprayers, multiple packet processors, and one or more desprayers. The sprayers receive packets on at least one incoming packet stream and distribute the packets according to a load balancing scheme that balances the number of bytes of packet data that is given to each of the packet processors. The packet processors receive the packets from the sprayers and process the packets to determine routing information for the packets. The desprayers receive the processed packets from the packet processors and transmit the packets on at least one outgoing packet stream based on the routing information.Type: GrantFiled: March 25, 2010Date of Patent: July 19, 2011Assignee: Juniper Networks, Inc.Inventors: Stefan Dyckerhoff, Pankaj Patel, Pradeep Sindhu, Ashok Krishnamurthi, Hann-Hwan Ju, Ramalingam K Anand, Dennis C Ferguson, Chang-Hong Wu
-
Patent number: 7983278Abstract: A network device includes an input device configured to receive a data packet, where the input device includes a number of interfaces and the data packet includes a source address and a destination address. The network device also includes processing logic configured to generate forwarding information identifying a next hop for the data packet and determine whether an interface on which the data packet was received is a same interface on which the data packet is to be forwarded to the next hop. The processing logic is also configured to determine whether the data packet originated from a device that is part of a same subnet as the next hop.Type: GrantFiled: July 18, 2006Date of Patent: July 19, 2011Assignee: Juniper Networks, Inc.Inventors: Raymond Marcelino Manese Lim, Dennis C. Ferguson, Jeffrey Glenn Libby
-
Publication number: 20110164618Abstract: A router for switching data packets from a source to a destination in a network in which the router includes a distributed memory. The distributed memory includes two or more memory banks. Each memory bank is used for storing uniform portions of a data packet received from a source and linking information for each data packet to allow for the extraction of the uniform portions of a data packet from distributed locations in memory in proper order after a routing determination has been made by the router.Type: ApplicationFiled: January 7, 2011Publication date: July 7, 2011Applicant: JUNIPER NETWORKS, INC.Inventors: Pradeep S. SINDHU, Dennis C. FERGUSON, Bjorn O. LIENCRES, Nalini AGARWAL, Hann-Hwan JU, Raymond Marcelino Manese LIM, Rasoul Mirzazadeh OSKOUY, Sreeram VEERAGANDHAM
-
Patent number: 7917578Abstract: A software module operating within a router, such as an operating system, manages state information within a hierarchically ordered and temporally-linked data structure. The software module sends state change messages to other software modules within the router, referred to as consumers, in an order that corresponds to the hierarchical order and the temporal linking. The data structure may comprise a plurality of objects to store state information. The operating system may receive event messages that indicate a change to the state information. The objects may be hierarchically linked in accordance with a hierarchy representing relationships of event messages. The objects may be temporally linked in accordance with the order in which the operating system receives event messages. The operating system may traverse the data structure according to the temporal and hierarchical links to select state change messages to send to a consumer.Type: GrantFiled: August 30, 2007Date of Patent: March 29, 2011Assignee: Juniper Networks, Inc.Inventors: David M. Katz, Dennis C. Ferguson