IP Library Granted Patent US 9,667,492
Granted Patent B2
US 9,667,492 · App. 14/603,901 · Granted May 30, 2017

Methods and apparatus for selecting a master virtual processor within a switch fabric element

Inventors: Gunes Aybay (Los Altos, CA); Pradeep Sindhu (Los Altos, CA); Anjan Venkatramani (Los Altos, CA)
Assignee: Juniper Networks, Inc.
H04L41/082G06F13/4022H04L12/28H04L41/12H04L45/563G06F2213/0058H04L1/00
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,667,492
App. No.
14/603,901
Granted
May 30, 2017
Kind
B2
Abstract

In some embodiments, an apparatus comprises a processing module, disposed within a first switch fabric element, configured to detect a second switch fabric element having a routing module when the second switch fabric element is operatively coupled to the first switch fabric element. The processing module is configured to define a virtual processing module configured to be operatively coupled to the second switch fabric element. The virtual processing module is configured to receive a request from the second switch fabric element for forwarding information and the virtual processing module is configured to send the forwarding information to the routing module.

Claims (43)

1. An apparatus, comprising:

a first switch fabric element with at least one hardware processor, which is configured to execute:

a processing module, disposed within a the first switch fabric element, configured to detect a second switch fabric element when the second switch fabric element is newly connected to the first switch fabric element, the processing module configured to define a virtual processing module locally within the processing module of the first switch fabric element, the virtual processing module configured to control the second switch fabric element; and

the virtual processing module configured to receive a request from the second switch fabric element for forwarding information, the virtual processing module configured to send the forwarding information to fire a routing module of the second switch fabric element such that the routing module of the second switch fabric element forwards a data packet based on the forwarding information; and

the processing module configured to select the virtual processing module as a master virtual processor of the first switch fabric element based on at least two of the followings: (1) a number of master virtual processors currently being operated by the processing module, (2) a historic reliability of the processing module, (3) a historic reliability of the first switch fabric element, or (4) an age of the first switch fabric element.

2. The apparatus of claim 1 , wherein:

the processing module is configured to receive a request from the first switch fabric element for forwarding information; and

the processing module is configured to send the forwarding information to a routing module of the first switch fabric element in response to the request from the first switch fabric element.

3. The apparatus of claim 1 , wherein the virtual processing module is configured to detect a third switch fabric element having a routing module, the processing module configured to define a second virtual processing module operatively coupled to the routing module of the third switch fabric element.

4. The apparatus of claim 1 , wherein the first switch fabric element includes a routing module operatively coupled to the processing module and configured to receive data from the routing module of the second switch fabric element.

5. The apparatus of claim 1 , wherein:

the processing module and the virtual processing module are configured based on a first software configuration at a first time;

the processing module is configured to receive a configuration file to configure the processing module based on a second software configuration at a second time, after the first time; and

the virtual processing module is configured based on the second software configuration at a third time, after the second time.

6. The apparatus of claim 1 , wherein the first switch fabric element is an aggregation switch and the second switch fabric element is an access switch.

7. An apparatus, comprising:

a first switch fabric element configured to be included within a switch fabric, the first switch fabric element includes at least one hardware processor, which is configured to execute:

a processing module, having a first software configuration and being disposed with the first switch fabric element, configured to detect a second switch fabric element when the second switch fabric element is added to the switch fabric,

the processing module configured to operatively couple a virtual processing module to the second switch fabric element at a first time, the virtual processing module configured based on the first software configuration and being disposed within the first switch fabric element,

processing module configured to receive a configuration file to execute a self-configuration of the processing module based on a second software configuration at a second time after the first time,

the processing module configured to reconfigure the virtual processing module based on the second software configuration, and

the processing module configured to select the virtual processing module as a master virtual processor of the first switch fabric element based on at least two of the followings: (1) a number of master virtual processors currently being operated by the processing module, (2) a historic reliability of the processing module, (3) a historic reliability of the first switch fabric element, or (4) an age of the first switch fabric element.

8. The apparatus of claim 7 , wherein:

the processing module is configured to detect a third switch fabric element; and

the processing module is configured to operatively couple, at a third time after the second time, a virtual processing module having the second software configuration and being disposed within the first switch fabric element, to the third switch fabric element.

9. The apparatus of claim 7 , wherein the virtual processing module is configured to receive a request for forwarding information from a routing module disposed within the second switch fabric element.

10. The apparatus of claim 7 , wherein the processing module is configured to detect the second switch fabric element when the second switch fabric element is operatively coupled to the first switch fabric element.

11. The apparatus of claim 7 , wherein the processing module is configured to define the virtual processing module in response to detecting the first switch fabric element.

12. A non-transitory processor-readable medium storing processor-executable instructions to cause a processor to:

detect a first switch fabric element having a routing module operatively coupled to the processor; and

define locally within the processor, a virtual processing module operatively coupled to the first switch fabric element, the virtual processing module is configured to receive a request from the first switch fabric element for forwarding information, the virtual processing module is configured to send the forwarding information to the routing module in response to receiving the request, the processor is configured to select the virtual processing module as a master virtual processor of the first switch fabric element based on at least two of the followings: (1) a number of master virtual processors currently being operated by the processor, (2) a historic reliability of the processor, (3) a historic reliability of the first switch fabric element, or (4) an age of the first switch fabric element.

13. The non-transitory processor-readable medium of claim 12 , wherein the virtual processing module is disposed within a second switch fabric element.

14. The non-transitory processor-readable medium of claim 12 , wherein the processor-executable instructions to cause the processor to define the virtual processing module include processor-executable instructions to further cause the processor to define the virtual processing module in response to detecting the switch fabric.

15. The non-transitory processor-readable medium of claim 12 , further storing processor-executable instructions to cause the processor to:

receive a first configuration file to configure a processing module based on a first software configuration at a first time;

define the virtual processing module based on the first configuration file;

receive a second configuration file configured to configure the processing module based on a second software configuration, different from the first software configuration, at a second time, after the first time; and

define the virtual processing module based on the second software configuration after the second time.

16. The non-transitory processor-readable medium of claim 12 , further storing processor-executable instructions to cause a processor to:

detect a third switch fabric element; and

operatively couple a second virtual processing module, having the second software configuration, to the third switch fabric element.

17. The non-transitory processor-readable medium of claim 12 , wherein the virtual processing module is disposed separate from the first switch fabric element.

18. The apparatus of claim 1 , wherein the processing module is further configured to select the virtual processing module as a master virtual processor of the first switch fabric element based on at least three of (1) the number of master virtual processors currently being operated by the processing module, (2) the historic reliability of the processing module, (3) the historic reliability of the first switch fabric element, or (4) the age of the first switch fabric element.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 4, 2015
From: AYBAY, GUNES; SINDHU, PRADEEP; VENKATRAMANI, ANJAN
To: JUNIPER NETWORKS, INC.
Reel/Frame 035086/0746 →
Continuity (2)
Continuation 12951706 · Nov 22, 2010
Related Publication 20150131670A1 · May 14, 2015