Abstract: A system for managing a circular buffer memory includes a number of data writers, a number of data readers, a circular buffer memory; and logic configured to form a number of counters, form a number of temporary variables from the counters, and allow the data writers and the data readers to simultaneously access locations in the circular buffer memory determined by the temporary variables.
Abstract: 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:
Grant
Filed:
April 27, 2007
Date of Patent:
May 11, 2010
Assignee:
Juniper Networks, Inc.
Inventors:
Dennis C. Ferguson, Devereaux C. Chen, John W. Stewart, III, James Washburn, Jeffrey R. Zimmer
Abstract: 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:
Grant
Filed:
January 17, 2006
Date of Patent:
May 11, 2010
Assignee:
Juniper Networks, Inc.
Inventors:
Stefan Dyckerhoff, Pankaj Patel, Pradeep Sindhu, Ashok Krishnamurthi, Hann-Hwan Ju, Ramalingam K. Anand, Dennis C. Ferguson, Chang-Hong Wu
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.
Abstract: A system processes data corresponding to multiple data streams. The system includes multiple queues that store the data, stream-to-queue logic, dequeue logic, and queue-to-stream logic. Each of the queues is assigned to one of the streams based on a predefined queue-to-stream assignment. The stream-to-queue logic identifies which of the queues has data to be processed. The dequeue logic processes data in the identified queues. The queue-to-stream logic identifies which of the streams correspond to the identified queues.
Abstract: A network device includes one or more processing units and an external memory. Each of the one or more processing units includes a centralized counter configured to perform accounting for the respective processing unit. The external memory is associated with at least one of the one or more processing units and is configured to store a group of count values for the at least one processing unit.
Abstract: A network device may include an input device and a packet forwarding engine. The input device receives a data packet. The packet forwarding engine includes logic configured to determine that the data packet is to be multicast. The logic is also configured to identify one of multiple forwarding schemes, where each of the forwarding schemes is configured such that the packet forwarding engine generates and forwards no more than two copies of the data packet.
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:
September 12, 2007
Date of Patent:
May 4, 2010
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 Fersuson, Philippe Lacroute, Gerald Cheung
Abstract: An arbiter system may include a first arbiter, a second arbiter, and selection logic. The first arbiter may be configured to select a first data identifier from among a group of data identifiers that are associated with a first bandwidth. The second arbiter may be configured to select a second data identifier from among another group of data identifiers that are associated with a second bandwidth. The selection logic may be configured to periodically select the first data identifier and the second data identifier so that the first data identifier and the second data identifier are respectively selected in proportion to the first bandwidth and the second bandwidth.
Type:
Grant
Filed:
August 27, 2002
Date of Patent:
May 4, 2010
Assignee:
Juniper Networks, Inc.
Inventors:
Ravi K. Damaraju, David James Ofelt, David Ross Skinner
Abstract: Upon receipt of a synchronization request from the CPU, the AAL1 device of the act system causes its cell forming section to extract the allocation position information for the SAR-PDU payload about a particular time slot in the current frame and, via the synchronization information send/receive section, transfers the information to the AAL1 device of the standby system. The AAL1 device of the standby system causes its operation processing section to calculate the allocation position of a particular time slot in the next frame for the SAR-PDU payload based on the above allocation position information. The AAL1 device of the standby system starts allocation of the data of and following a particular time slot of the next frame to the SAR-PDU payload starting from the position indicated by the calculation result.
Abstract: A network device may operate to increase application performance over a wide area network. In one particular implementation, the network device may monitor accesses to a disk drive from entities and determine whether an entity is accessing the disk drive in a manner that causes a disproportionate amount of performance degradation. If so, the network device may throttle access to the disk drive for the entity.
Abstract: A data prefetching technique optimizes the batch size of prefetch requests. The optimized batch size may be determined based on a prefetch transfer time of a previous prefetch operation, where the prefetch transfer time is measured as an elapsed time interval from when data from the previous prefetch operation is first received to when the data from the previous prefetch operation is finished being received.
Abstract: A bandwidth divider and method for allocating bandwidth between a plurality of packet processors. The bandwidth divider includes a plurality of counters for measuring the bandwidth of data packets transferred from the bandwidth divider to a respective packet processor; and a controller for analyzing the plurality of counters and transferring a data packet to a selected packet processor based on the contents of the counters. The method monitors the bandwidth consumed by the packet processors; determines, based on the bandwidth consumed by the packet processors, which packet processor has consumed the least amount of bandwidth; and allocates a next data packet to the packet processor which has consumed the least amount of bandwidth.
Type:
Grant
Filed:
September 5, 2006
Date of Patent:
April 27, 2010
Assignee:
Juniper Networks, Inc.
Inventors:
Stefan Dyckerhoff, Pankaj Patel, Pradeep Sindhu, Ashok Krishnamurthi, Hann-Hwan Ju, Ramalingam K. Anand
Abstract: The present invention relates to workflow systems and methods. In one embodiment, the invention relates to integration of a calendar system with a workflow system where a calendar event can initiate a workflow by sending a message to a form route manager. The completion of a workflow or step in the workflow can result in sending a message to a calendar system to generate an event. In another embodiment, the invention relates to the integration of workflow with a project management system that includes project segments, which are processes that can be defined and controlled by workflow routes. The project management system sends a message to the workflow system to initiate workflow and the workflow system sends a message to the project management system, for example, at the completion of the workflow route. The relationship between the workflow routes can maintain the relationship between the project segments.
Abstract: The present invention relates to workflow systems and methods. In one embodiment, the invention relates to integration of a calendar system with a workflow system where a calendar event can initiate a workflow by sending a message to a form route manager. The completion of a workflow or step in the workflow can result in sending a message to a calendar system to generate an event. In another embodiment, the invention relates to the integration of workflow with a project management system that includes project segments, which are processes that can be defined and controlled by workflow routes. The project management system sends a message to the workflow system to initiate workflow and the workflow system sends a message to the project management system, for example, at the completion of the workflow route. The relationship between the workflow routes can maintain the relationship between the project segments.
Abstract: The present invention relates to workflow systems and methods. In one embodiment, the invention relates to integration of a calendar system with a workflow system where a calendar event can initiate a workflow by sending a message to a form route manager. The completion of a workflow or step in the workflow can result in sending a message to a calendar system to generate an event. In another embodiment, the invention relates to the integration of workflow with a project management system that includes project segments, which are processes that can be defined and controlled by workflow routes. The project management system sends a message to the workflow system to initiate workflow and the workflow system sends a message to the project management system, for example, at the completion of the workflow route. The relationship between the workflow routes can maintain the relationship between the project segments.
Abstract: Outages in a label-switched path (LSP) are detected quickly using adjacency information, such as IGP “hello neighbor” queries. Protocols, such as IGP can be instructed to check certain adjacencies more frequently. For example, a node in an LSP can determine a next downstream node in the LSP as an adjacency, check that adjacency much more frequently, and in the event that the adjacency is lost (due to a down link, a down interface, or a down node), switch any LSPs that have the adjacency to a failover path or route. Since these checks need not be performed using hardware signaling, outages of shared media interfaces, such as Ethernet and Gigabit Ethernet, can be checked.
Abstract: A method is provided for queuing packets. A packet may be received and its flow identified. It may then be determined whether a flow queue has been assigned to the identified flow. The identified flow may be dynamically assigning to an available flow queue when it is determined that a flow queue has not been assigned to the identified flow. The packet may be enqueued into the available flow queue.
Abstract: A method performed by a first network device may include receiving a request for a resource from an end-point device and acknowledging the request for the resource to the end-point device. The method may also include receiving a resource coordination message from a second network device and transmitting a return resource coordination message to the second network device.
Abstract: A network security appliance supports definition of a security policy to control access to a network. The security policy is defined by match criteria including a layer seven network application, a static port list of layer four ports for a transport-layer protocol, and actions to be applied to packet flows that match the match criteria. A rules engine dynamically identifies a type of layer seven network application associated with the received packet flow based on inspection of application-layer data within payloads of packets of the packet flow without basing the identification solely on a layer four port specified by headers within the packets. The rules engine is configured to apply the security policy to determine whether the packet flow matches the static port lists specified by the match criteria. The network security appliance applies the actions specified by the security policy to the packet flow.