-
公开(公告)号:US11502946B2
公开(公告)日:2022-11-15
申请号:US16814664
申请日:2020-03-10
Applicant: Juniper Networks, Inc.
Inventor: Kevin Wang , Jaihari V. Loganathan , Jeffrey Haas , Sanjay Khanna
Abstract: In general, various aspects of the techniques are described in this disclosure for distributed label assignment for labeled routes. In one example, a method includes obtaining, by a first thread of a plurality of execution threads for at least one routing protocol process executing on processing circuitry of a network device, an allocation of first labels drawn from a label space for a network service; adding, by the first thread, the first labels to a first local label pool for the first thread; generating, by the first thread, after obtaining the allocation of the first labels, a labeled route comprising a route for the network service and a label assigned by the first thread from the first local label pool; and outputting, by the network device, the labeled route.
-
公开(公告)号:US11496559B1
公开(公告)日:2022-11-08
申请号:US16900762
申请日:2020-06-12
Applicant: Juniper Networks, Inc.
Inventor: Ashutosh K. Grewal , Jaihari V. Loganathan , Kevin Wang , Sanjay Khanna
IPC: H04L67/104 , H04L47/625 , H04L43/16 , H04L45/02 , H04L47/30 , H04L47/62
Abstract: A network device, associated with peer network devices, may receive policy information for a protocol; and compute a first update message based on information regarding a route associated with the policy information. The network device may determine that an upper utilization threshold for one or more of peer queues, associated with the peer network devices, is not satisfied; and write the first update message to the peer queues based on determining that the upper utilization threshold is not satisfied. The network device may compute a second update message based on the information regarding the route; determine that the upper utilization threshold for one or more of the peer queues is satisfied; and pause writing the second update message to the peer queues based on the upper utilization threshold being satisfied. The network device may permit the peer network devices to obtain data from corresponding ones of the peer queues.
-
公开(公告)号:US20210397487A1
公开(公告)日:2021-12-23
申请号:US17139680
申请日:2020-12-31
Applicant: Juniper Networks, Inc.
Inventor: Sanjay Khanna , Srinivas Ramprasad
Abstract: In some examples, a main thread of a plurality of execution threads executing on a plurality of processing cores of at least one hardware-based processor of a network device may receive a request for information associated with network routes that meet one or more criteria. Each of the plurality of execution threads may process a respective routing information partition to generate respective displayable information associated with a respective subset of the network routes that meets the one or more criteria. The main thread may generate consolidated displayable information associated with the network routes that meet the one or more criteria based on the respective displayable information generated by each of the plurality of execution threads. The main thread may output the consolidated displayable information associated with the network routes that meet the one or more criteria for display at a display device.
-
公开(公告)号:US10715440B1
公开(公告)日:2020-07-14
申请号:US16026005
申请日:2018-07-02
Applicant: Juniper Networks, Inc.
Inventor: Jaihari V. Loganathan , Sanjay Khanna
IPC: H04L12/745 , H04L12/46 , G01D21/00 , H04L12/751 , H04L12/753 , H04L12/801
Abstract: A system for resolving next hops in a distributed manner includes a plurality of next hop resolution subsystems, each of the plurality of next hop resolution subsystems including (1) a next hop registry, (2) a partial-view tree storing a local instance of next hop resolution information, and (3) a full-view tree storing a local instance of next hop resolution information. The system (1) receives a request to resolve a next hop; (2) obtains a plurality of partial results using the partial-view trees of the next hop resolution subsystems; (3) select a best one of the plurality of partial results; and 4) replies to the request using the selected best one of the plurality of partial results. The full-view trees are updated such that their contents tend to converge.
-
公开(公告)号:US11909632B2
公开(公告)日:2024-02-20
申请号:US18054831
申请日:2022-11-11
Applicant: Juniper Networks, Inc.
Inventor: Kevin Wang , Jaihari V. Loganathan , Jeffrey Haas , Sanjay Khanna
CPC classification number: H04L45/50 , H04L45/22 , H04L45/24 , H04L45/42 , H04L45/586 , H04L47/781
Abstract: In general, various aspects of the techniques are described in this disclosure for distributed label assignment for labeled routes. In one example, a method includes obtaining, by a first thread of a plurality of execution threads for at least one routing protocol process executing on processing circuitry of a network device, an allocation of first labels drawn from a label space for a network service; adding, by the first thread, the first labels to a first local label pool for the first thread; generating, by the first thread, after obtaining the allocation of the first labels, a labeled route comprising a route for the network service and a label assigned by the first thread from the first local label pool; and outputting, by the network device, the labeled route.
-
公开(公告)号:US20230077138A1
公开(公告)日:2023-03-09
申请号:US18054831
申请日:2022-11-11
Applicant: Juniper Networks, Inc.
Inventor: Kevin Wang , Jaihari V. Loganathan , Jeffrey Haas , Sanjay Khanna
Abstract: In general, various aspects of the techniques are described in this disclosure for distributed label assignment for labeled routes. In one example, a method includes obtaining, by a first thread of a plurality of execution threads for at least one routing protocol process executing on processing circuitry of a network device, an allocation of first labels drawn from a label space for a network service; adding, by the first thread, the first labels to a first local label pool for the first thread; generating, by the first thread, after obtaining the allocation of the first labels, a labeled route comprising a route for the network service and a label assigned by the first thread from the first local label pool; and outputting, by the network device, the labeled route.
-
公开(公告)号:US11762710B2
公开(公告)日:2023-09-19
申请号:US17139680
申请日:2020-12-31
Applicant: Juniper Networks, Inc.
Inventor: Sanjay Khanna , Srinivas Ramprasad
IPC: G06F9/52 , G06F9/50 , H04L69/325 , G06F3/14
CPC classification number: G06F9/52 , G06F3/14 , G06F9/5083 , H04L69/325
Abstract: In some examples, a main thread of a plurality of execution threads executing on a plurality of processing cores of at least one hardware-based processor of a network device may receive a request for information associated with network routes that meet one or more criteria. Each of the plurality of execution threads may process a respective routing information partition to generate respective displayable information associated with a respective subset of the network routes that meets the one or more criteria. The main thread may generate consolidated displayable information associated with the network routes that meet the one or more criteria based on the respective displayable information generated by each of the plurality of execution threads. The main thread may output the consolidated displayable information associated with the network routes that meet the one or more criteria for display at a display device.
-
8.
公开(公告)号:US11561823B1
公开(公告)日:2023-01-24
申请号:US15930171
申请日:2020-05-12
Applicant: Juniper Networks, Inc.
Inventor: Jaihari V. Loganathan , Ashutosh K. Grewal , Sanjay Khanna
Abstract: In general, the disclosure describes techniques for lockless management of immutable objects by multi-threaded processes. A device comprising a processor may implement the techniques, where the processor execute a multi-threaded process including a producer thread and a consumer thread. The producer thread may instantiate an immutable object, and provide, to the consumer thread, a reference to the immutable object. The producer thread may also increment a reference counter to indicate that the reference has been provided to the consumer thread, where the reference counter is local to the producer thread and inaccessible to the at least two consumer threads. The producer thread may receive, from the consumer thread, a notification that the consumer thread has finished processing the immutable object, and decrement, responsive to receiving the notification, the reference counter. The producer thread may then delete, based on the reference counter, the immutable object.
-
公开(公告)号:US20210288906A1
公开(公告)日:2021-09-16
申请号:US16814664
申请日:2020-03-10
Applicant: Juniper Networks, Inc.
Inventor: Kevin Wang , Jaihari V. Loganathan , Jeffrey Haas , Sanjay Khanna
IPC: H04L12/723 , H04L12/713 , H04L12/717 , H04L12/707 , H04L12/911
Abstract: In general, various aspects of the techniques are described in this disclosure for distributed label assignment for labeled routes. In one example, a method includes obtaining, by a first thread of a plurality of execution threads for at least one routing protocol process executing on processing circuitry of a network device, an allocation of first labels drawn from a label space for a network service; adding, by the first thread, the first labels to a first local label pool for the first thread; generating, by the first thread, after obtaining the allocation of the first labels, a labeled route comprising a route for the network service and a label assigned by the first thread from the first local label pool; and outputting, by the network device, the labeled route.
-
公开(公告)号:US20190179668A1
公开(公告)日:2019-06-13
申请号:US15841023
申请日:2017-12-13
Applicant: Juniper Networks, Inc.
Inventor: Kevin F. Wang , Jaihari V. Loganathan , Sanjay Khanna
IPC: G06F9/48 , H04L12/733 , H04L29/08
Abstract: In general, the disclosure describes techniques for distributing processing of routes among multiple execution threads of a network device. In some examples, a method includes identifying, with a thread of a plurality of execution threads, a first route processing thread of the execution threads to process a first route of a routing protocol, the first route received by the network device; identifying, with the thread, a second route processing thread of the execution threads to process a second route of a routing protocol, the second route received by the network device; processing, by the first route processing thread executing on a first core of the plurality of processing cores, the first route; and processing, by the second route processing thread executing on a second core at least partially concurrently with the first route processing thread executing on the first core of the plurality of processing cores, the second route.
-
-
-
-
-
-
-
-
-