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: 11496398
    Abstract: 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: Grant
    Filed: March 10, 2021
    Date of Patent: November 8, 2022
    Assignee: JUNIPER NETWORKS, INC.
    Inventors: Anuj Kumar Srivastava, Gary Goldman, Harshad B Agashe, Dinesh Jaiswal, Piyush Jain, Naveen K Jain
  • Patent number: 11290395
    Abstract: 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: Grant
    Filed: July 20, 2020
    Date of Patent: March 29, 2022
    Assignee: Juniper Networks, Inc.
    Inventors: Gary Goldman, Sarin Thomas, Jean-Marc Frailong, Harshad B Agashe
  • Publication number: 20210194809
    Abstract: 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: Application
    Filed: March 10, 2021
    Publication date: June 24, 2021
    Inventors: Anuj Kumar Srivastava, Gary Goldman, Harshad B. Agashe, Dinesh Jaiswal, Piyush Jain, Naveen K. Jain
  • Patent number: 10951527
    Abstract: 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: Grant
    Filed: December 28, 2018
    Date of Patent: March 16, 2021
    Assignee: Juniper Networks, Inc.
    Inventors: Anuj Kumar Srivastava, Gary Goldman, Harshad B Agashe, Dinesh Jaiswal, Piyush Jain, Naveen K Jain
  • Patent number: 10721187
    Abstract: 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: Grant
    Filed: May 18, 2017
    Date of Patent: July 21, 2020
    Assignee: Juniper Networks, Inc.
    Inventors: Gary Goldman, Sarin Thomas, Jean-Marc Frailong, Harshad B Agashe
  • Publication number: 20200213232
    Abstract: 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: Application
    Filed: December 28, 2018
    Publication date: July 2, 2020
    Inventors: Anuj Kumar Srivastava, Gary Goldman, Harshad B. Agashe, Dinesh Jaiswal, Piyush Jain, Naveen K. Jain
  • Patent number: 10009293
    Abstract: 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: Grant
    Filed: September 30, 2016
    Date of Patent: June 26, 2018
    Assignee: Juniper Networks, Inc.
    Inventors: Dev S. Mukherjee, Marco Rodriguez, Sarin Thomas, Gary Goldman
  • Patent number: 9021582
    Abstract: 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: Grant
    Filed: April 24, 2007
    Date of Patent: April 28, 2015
    Assignee: Juniper Networks, Inc.
    Inventors: Gary Goldman, Philip A. Thomas, Ramesh Panwar
  • Patent number: 8954691
    Abstract: 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: Grant
    Filed: February 19, 2013
    Date of Patent: February 10, 2015
    Assignee: Juniper Networks, Inc.
    Inventors: Robert Rhoades, Paul Kim, Gary Goldman
  • Patent number: 8953625
    Abstract: 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: Grant
    Filed: April 30, 2013
    Date of Patent: February 10, 2015
    Assignee: Juniper Networks, Inc.
    Inventors: Gary Goldman, Srihari Vegesna
  • Publication number: 20130235880
    Abstract: 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: Application
    Filed: April 30, 2013
    Publication date: September 12, 2013
    Applicant: JUNIPER NETWORKS, INC.
    Inventors: Gary GOLDMAN, Srihari Vegesna
  • Patent number: 8520522
    Abstract: 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: Grant
    Filed: October 15, 2010
    Date of Patent: August 27, 2013
    Assignee: Juniper Networks, Inc.
    Inventors: Gary Goldman, Paul Kim, Chang-Hong Wu
  • Patent number: 8457142
    Abstract: 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: Grant
    Filed: February 18, 2011
    Date of Patent: June 4, 2013
    Assignee: Juniper Networks, Inc.
    Inventors: Gary Goldman, Srihari Vegesna
  • Patent number: 8392672
    Abstract: 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: Grant
    Filed: October 25, 2010
    Date of Patent: March 5, 2013
    Assignee: Juniper Networks, Inc.
    Inventors: Robert Rhoades, Paul Kim, Gary Goldman
  • Publication number: 20080271141
    Abstract: 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: Application
    Filed: April 24, 2007
    Publication date: October 30, 2008
    Applicant: Juniper Networks, Inc.
    Inventors: Gary Goldman, Philip A. Thomas, Ramesh Panwar
  • Patent number: 7212494
    Abstract: 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: Grant
    Filed: April 30, 2001
    Date of Patent: May 1, 2007
    Assignee: Cisco Technology, Inc.
    Inventors: Gary Goldman, Nitin Garg, Man Yip, Phong Bui, Kent Wendorf
  • Patent number: 6977946
    Abstract: 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: Grant
    Filed: March 12, 2001
    Date of Patent: December 20, 2005
    Assignee: Cisco Technology, Inc.
    Inventors: Gary Goldman, David Hughes, Madhav Marathe
  • Patent number: 5793233
    Abstract: 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: Grant
    Filed: May 30, 1996
    Date of Patent: August 11, 1998
    Assignee: Sun Microsystems, Inc.
    Inventors: Ramachandra P. Kunda, Gary Goldman
  • Patent number: D388941
    Type: Grant
    Filed: September 17, 1996
    Date of Patent: January 13, 1998
    Inventors: Ashley Schapiro, Gary Goldman