Patents by Inventor Gary Goldman
Gary Goldman 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: 11496398Abstract: An ingress fabric endpoint coupled to a switch fabric within a network device reorders packet flows based on congestion status. In one example, the ingress fabric endpoint receives packet flows for switching across the switch fabric. The ingress fabric endpoint assigns each packet for each packet flow to a fast path or a slow path for packet switching. The ingress fabric endpoint processes, to generate a stream of cells for switching across the switch fabric, packets from the fast path and the slow path to maintain a first-in-first-out ordering of the packets within each packet flow. The ingress fabric endpoint switches a packet of a first packet flow after switching a packet of a second packet flow despite receiving the packet of the first packet flow before the packet of the second packet flow.Type: GrantFiled: March 10, 2021Date of Patent: November 8, 2022Assignee: JUNIPER NETWORKS, INC.Inventors: Anuj Kumar Srivastava, Gary Goldman, Harshad B Agashe, Dinesh Jaiswal, Piyush Jain, Naveen K Jain
-
Patent number: 11290395Abstract: A system and method for routing network packets. A switch fabric connects a plurality of forwarding units, including an egress forwarding unit and two or more ingress forwarding units, each ingress forwarding unit forwarding network packets to the egress forwarding unit via the switch fabric. The egress forwarding unit includes a scheduler and an output queue. Each ingress forwarding unit includes a Virtual Output Queue (VOQ) connected to the output queue and a VOQ manager. The scheduler receives time of arrival information for packet groups stored in the VOQs, determines, based on the time of arrival information for each packet group, a device resident time for each packet group, and discards the packet groups when the determined device resident time for the packet group is greater than a maximum resident time.Type: GrantFiled: July 20, 2020Date of Patent: March 29, 2022Assignee: Juniper Networks, Inc.Inventors: Gary Goldman, Sarin Thomas, Jean-Marc Frailong, Harshad B Agashe
-
Publication number: 20210194809Abstract: An ingress fabric endpoint coupled to a switch fabric within a network device reorders packet flows based on congestion status. In one example, the ingress fabric endpoint receives packet flows for switching across the switch fabric. The ingress fabric endpoint assigns each packet for each packet flow to a fast path or a slow path for packet switching. The ingress fabric endpoint processes, to generate a stream of cells for switching across the switch fabric, packets from the fast path and the slow path to maintain a first-in-first-out ordering of the packets within each packet flow. The ingress fabric endpoint switches a packet of a first packet flow after switching a packet of a second packet flow despite receiving the packet of the first packet flow before the packet of the second packet flow.Type: ApplicationFiled: March 10, 2021Publication date: June 24, 2021Inventors: Anuj Kumar Srivastava, Gary Goldman, Harshad B. Agashe, Dinesh Jaiswal, Piyush Jain, Naveen K. Jain
-
Patent number: 10951527Abstract: An ingress fabric endpoint coupled to a switch fabric within a network device reorders packet flows based on congestion status. In one example, the ingress fabric endpoint receives packet flows for switching across the switch fabric. The ingress fabric endpoint assigns each packet for each packet flow to a fast path or a slow path for packet switching. The ingress fabric endpoint processes, to generate a stream of cells for switching across the switch fabric, packets from the fast path and the slow path to maintain a first-in-first-out ordering of the packets within each packet flow. The ingress fabric endpoint switches a packet of a first packet flow after switching a packet of a second packet flow despite receiving the packet of the first packet flow before the packet of the second packet flow.Type: GrantFiled: December 28, 2018Date of Patent: March 16, 2021Assignee: Juniper Networks, Inc.Inventors: Anuj Kumar Srivastava, Gary Goldman, Harshad B Agashe, Dinesh Jaiswal, Piyush Jain, Naveen K Jain
-
Patent number: 10721187Abstract: A system and method for routing network packets. A switch fabric connects a plurality of forwarding units, including an egress forwarding unit and two or more ingress forwarding units, each ingress forwarding unit forwarding network packets to the egress forwarding unit via the switch fabric. The egress forwarding unit includes a scheduler and an output queue. Each ingress forwarding unit includes a Virtual Output Queue (VOQ) connected to the output queue and a VOQ manager. The scheduler receives time of arrival information for network packets stored in the VOQs, determines, based on the time of arrival information for each network packet, a device resident time for the network packets stored in the VOQs, and requests, from one of the VOQs and based on the device resident times, the network packet with the longest device resident time.Type: GrantFiled: May 18, 2017Date of Patent: July 21, 2020Assignee: Juniper Networks, Inc.Inventors: Gary Goldman, Sarin Thomas, Jean-Marc Frailong, Harshad B Agashe
-
Publication number: 20200213232Abstract: An ingress fabric endpoint coupled to a switch fabric within a network device reorders packet flows based on congestion status. In one example, the ingress fabric endpoint receives packet flows for switching across the switch fabric. The ingress fabric endpoint assigns each packet for each packet flow to a fast path or a slow path for packet switching. The ingress fabric endpoint processes, to generate a stream of cells for switching across the switch fabric, packets from the fast path and the slow path to maintain a first-in-first-out ordering of the packets within each packet flow. The ingress fabric endpoint switches a packet of a first packet flow after switching a packet of a second packet flow despite receiving the packet of the first packet flow before the packet of the second packet flow.Type: ApplicationFiled: December 28, 2018Publication date: July 2, 2020Inventors: Anuj Kumar Srivastava, Gary Goldman, Harshad B. Agashe, Dinesh Jaiswal, Piyush Jain, Naveen K. Jain
-
Patent number: 10009293Abstract: A system and method of transferring cells through a router includes writing one or more of the plurality of cells, including a first cell, of a packet from an ingress stream of an ingress writer to a central buffer, storing a packet identifier entry in the first egress reader scoreboard in each of the plurality of egress readers, the packet identifier entry including a packet identifier, a valid bit, a hit bit and a write cell count, wherein the valid bit is configured to indicate that the packet identifier entry is valid, the hit bit is configured to indicate that no cells in the packet have been read from the central buffer and the write cell count equals the number of cells in the packet written to the central buffer, and reading the packet from the central buffer as a function of the packet identifier entry.Type: GrantFiled: September 30, 2016Date of Patent: June 26, 2018Assignee: Juniper Networks, Inc.Inventors: Dev S. Mukherjee, Marco Rodriguez, Sarin Thomas, Gary Goldman
-
Patent number: 9021582Abstract: This disclosure describes techniques of determining whether a symbol stream includes a pattern defined by a regular expression. As described herein, the regular expression may be represented using a non-deterministic finite automaton (NFA). A plurality of states in the NFA may be evaluated in parallel. These states may be associated with a plurality of symbol positions in a symbol stream. Evaluating a plurality of states and symbols in parallel may allow for faster determinations of whether the symbol stream includes the pattern defined by the regular expression.Type: GrantFiled: April 24, 2007Date of Patent: April 28, 2015Assignee: Juniper Networks, Inc.Inventors: Gary Goldman, Philip A. Thomas, Ramesh Panwar
-
Patent number: 8954691Abstract: A network device that includes a first memory to store packets in segments; a second memory to store pointers associated with the first memory; a third memory to store summary bits and allocation bits, where the allocation bits correspond to the segments. The network device also includes a processor to receive a request for memory resources; determine whether a pointer is stored in the second memory, where the pointer corresponds to a segment that is available to store a packet; and send the pointer when the pointer is stored in the second memory. The processor is further to perform a search to identify other pointers when the pointer is not stored in the second memory, where performing the search includes identifying a set of allocation bits, based on an unallocated summary bit, that corresponds to the other pointers; identify another pointer, of the other pointers, based on an unallocated allocation bit of the set of allocation bits; and send the other pointer in response to the request.Type: GrantFiled: February 19, 2013Date of Patent: February 10, 2015Assignee: Juniper Networks, Inc.Inventors: Robert Rhoades, Paul Kim, Gary Goldman
-
Patent number: 8953625Abstract: A scheduler in a network element may include a dequeuer to dequeue packets from a set of scheduling nodes using a deficit weighted round robin process, where the dequeuer is to determine whether a subset of the set of scheduling nodes is being backpressured. The dequeuer may set a root rich most negative credits (MNC) value, associated with a root node, to a root poor MNC value, associated with the root node, and set the root poor MNC value to zero, when the subset is not being backpressured, and may set the rich MNC value to a maximum of the root poor MNC value and a root backpressured rich MNC value, associated with the subset, and set the root poor MNC value to a root backpressured poor MNC value, associated with the subset, when the subset is being backpressured.Type: GrantFiled: April 30, 2013Date of Patent: February 10, 2015Assignee: Juniper Networks, Inc.Inventors: Gary Goldman, Srihari Vegesna
-
Publication number: 20130235880Abstract: A scheduler in a network element may include a dequeuer to dequeue packets from a set of scheduling nodes using a deficit weighted round robin process, where the dequeuer is to determine whether a subset of the set of scheduling nodes is being backpressured. The dequeuer may set a root rich most negative credits (MNC) value, associated with a root node, to a root poor MNC value, associated with the root node, and set the root poor MNC value to zero, when the subset is not being backpressured, and may set the rich MNC value to a maximum of the root poor MNC value and a root backpressured rich MNC value, associated with the subset, and set the root poor MNC value to a root backpressured poor MNC value, associated with the subset, when the subset is being backpressured.Type: ApplicationFiled: April 30, 2013Publication date: September 12, 2013Applicant: JUNIPER NETWORKS, INC.Inventors: Gary GOLDMAN, Srihari Vegesna
-
Patent number: 8520522Abstract: A network device operating in operating in a Priority Flow Control (PFC) mode receives a stream of packets for outputting on a particular port, assigns each packet in the stream of packets to one of multiple buffer queues associated with the port, and generates, based on the assigning, packet counts for the multiple buffer queues. The network device aggregates the packet counts for a group of particular buffer queues, of the multiple buffer queues, that are not subject to a PFC restriction, to create an unrestricted aggregated count. The network device determines whether the unrestricted aggregated count exceeds a flow-control threshold for the group of particular buffer queues and sends, to an upstream queue scheduler, a flow control signal when the unrestricted aggregated count exceeds a flow-control threshold.Type: GrantFiled: October 15, 2010Date of Patent: August 27, 2013Assignee: Juniper Networks, Inc.Inventors: Gary Goldman, Paul Kim, Chang-Hong Wu
-
Patent number: 8457142Abstract: A scheduler in a network element may include a dequeuer to dequeue packets from a set of scheduling nodes using a deficit weighted round robin process, where the dequeuer is to determine whether a subset of the set of scheduling nodes is being backpressured. The dequeuer may set a root rich most negative credits (MNC) value, associated with a root node, to a root poor MNC value, associated with the root node, and set the root poor MNC value to zero, when the subset is not being backpressured, and may set the rich MNC value to a maximum of the root poor MNC value and a root backpressured rich MNC value, associated with the subset, and set the root poor MNC value to a root backpressured poor MNC value, associated with the subset, when the subset is being backpressured.Type: GrantFiled: February 18, 2011Date of Patent: June 4, 2013Assignee: Juniper Networks, Inc.Inventors: Gary Goldman, Srihari Vegesna
-
Patent number: 8392672Abstract: A network device that includes a first memory to store packets in segments; a second memory to store pointers associated with the first memory; a third memory to store summary bits and allocation bits, where the allocation bits correspond to the segments. The network device also includes a processor to receive a request for memory resources; determine whether a pointer is stored in the second memory, where the pointer corresponds to a segment that is available to store a packet; and send the pointer when the pointer is stored in the second memory. The processor is further to perform a search to identify other pointers when the pointer is not stored in the second memory, where performing the search includes identifying a set of allocation bits, based on an unallocated summary bit, that corresponds to the other pointers; identify another pointer, of the other pointers, based on an unallocated allocation bit of the set of allocation bits; and send the other pointer in response to the request.Type: GrantFiled: October 25, 2010Date of Patent: March 5, 2013Assignee: Juniper Networks, Inc.Inventors: Robert Rhoades, Paul Kim, Gary Goldman
-
Publication number: 20080271141Abstract: This disclosure describes techniques of determining whether a symbol stream includes a pattern defined by a regular expression. As described herein, the regular expression may be represented using a non-deterministic finite automaton (NFA). A plurality of states in the NFA may be evaluated in parallel. These states may be associated with a plurality of symbol positions in a symbol stream. Evaluating a plurality of states and symbols in parallel may allow for faster determinations of whether the symbol stream includes the pattern defined by the regular expression.Type: ApplicationFiled: April 24, 2007Publication date: October 30, 2008Applicant: Juniper Networks, Inc.Inventors: Gary Goldman, Philip A. Thomas, Ramesh Panwar
-
Patent number: 7212494Abstract: A method and system for the fair allocation of unused guaranteed bandwidth. Data segments of at least one class of service are received at each of a plurality of ingress line cards. Each class of service has a guaranteed percentage of transmission bandwidth. The system uses a must-serve bit to mark a number of data cells within each class of service. The number of cells marked depends on the guaranteed bandwidth percentage for the particular class of service. The mark is referred to as “must-serve” since the scheduler must serve the particular class of service to the extent of the marked cells in order to meet the guaranteed bandwidth. The generic switch fabric monitors the cells and the switch CPU reallocates bandwidth so that only the marked cells are provided preferential transmission. Non-marked cells compete equally for excess bandwidth.Type: GrantFiled: April 30, 2001Date of Patent: May 1, 2007Assignee: Cisco Technology, Inc.Inventors: Gary Goldman, Nitin Garg, Man Yip, Phong Bui, Kent Wendorf
-
Patent number: 6977946Abstract: A method to utilize unscheduled bandwidth in a calendar-based VC scheduling scheme by caching a plurality of virtual connections for processing. A plurality of virtual connection addresses are stored in a cache memory. A virtual connection corresponding to one of these addresses is processed if one of the time periods for transmitting on the trunk is liable to be wasted because no cell is available through the normal calendaring algorithm. A VC cache is added to the VC scheduler in “parallel” with the calendar-based scheduler. When the calendar-based scheduler has a time period in which no VC is scheduled for transmission on the trunk, a VC address is obtained from the cache and that VC is processed. What makes this scheme work is the observation that the VCs that have been active will have more cells to transmit.Type: GrantFiled: March 12, 2001Date of Patent: December 20, 2005Assignee: Cisco Technology, Inc.Inventors: Gary Goldman, David Hughes, Madhav Marathe
-
Patent number: 5793233Abstract: A phase detection signal is generated with a phase detection logic pipeline and its associated tapped pipeline signal combinational logic circuit. The phase detection logic pipeline generates phase detection logic pipeline output signals from a first input clock signal and a second input clock signal. The first input clock signal is applied to a first flip-flop of a set of serially connected flip-flops to generate a pipeline signal. The pipeline signal is driven through the set of serially connected flip-flops by the second clock input signal. Logic pipeline output nodes connected between the serially connected flip-flops carry the phase detection logic pipeline output signals. The phase detection logic pipeline output signals are applied to the tapped pipeline signal combinational logic circuit, which logically combines the signals to generate the phase detection signal.Type: GrantFiled: May 30, 1996Date of Patent: August 11, 1998Assignee: Sun Microsystems, Inc.Inventors: Ramachandra P. Kunda, Gary Goldman
-
Patent number: D388941Type: GrantFiled: September 17, 1996Date of Patent: January 13, 1998Inventors: Ashley Schapiro, Gary Goldman