IP Library Granted Patent US 7,415,627
Granted Patent B1
US 7,415,627 · App. 10/666,084 · Granted Aug 19, 2008

Partitioning and categorizing data in a split-plane architecture for fast recovery from data plane failures and fast restarts

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 7,415,627
App. No.
10/666,084
Granted
Aug 19, 2008
Kind
B1
Abstract

Routes between data planes are partitioned according to the source and destination data planes. Partitions are distributed according to the source data plane associated with the partition. Each data plane is configured to clear and resynchronize its own routes when a data plane fails. Also, the restarted data plane is configured to restore routes by retrieving partitions that have the restarted data plane as the source data plane.

Claims (52)

1. A method for handling failures in a data plane of a plurality of data planes, the method comprising:

generating a partitioned data structure, wherein the partitioned data structure is generated from a control processor separate from the plurality of data planes, the control processor including a failure detector, and the data structure includes one or more partitions for each of the plurality of data planes, each partition including routes for a source data plane to a destination data plane;

sending one or more partitions from the partitioned data structure to a data plane that is the source data plane in the routes;

detecting a failure in a failed data plane in the plurality of data planes, wherein the failure detector is configured to detect the failed data plane in the plurality of data planes; and

notifying data planes other than the failed data plane in the plurality of data planes that the failed data plane has failed, wherein the notified data planes do not send data for the one or more routes found in a partition associated with the failed data plane;

detecting when the failure has been restarted; and

notifying the data planes other than the failed data plane that the failure has been restarted, wherein the data planes send data for the one or more routes found in a partition associated with the failed data plane after being notified that the failure has been restarted.

2. The method of claim 1 , wherein one partition includes all routes from a source data plane and to a destination data plane.

3. The method of claim 1 , further comprising removing any data partitions that have been received at the data planes that have the failed data plane as the destination data plane.

4. The method of claim 3 , further comprising if any partitions were removed, restoring the removed partitions.

5. The method of claim 4 , further comprising sending the removed partitions to each data plane other than the failed data plane.

6. The method of claim 1 , further comprising:

sending one or more partitions that include the failed data plane as the source data plane in the routes to the failed data plane after the failure has been restarted.

7. The method of claim 5 , wherein the sending step is initiated by data planes other than the failed data plane.

8. The method of claim 1 , further comprising:

storing the data structure in persistent storage; and

sending one or more partitions to the failed data plane from the persistent storage after the failed data plane is restarted.

9. The method of claim 8 , wherein the sending step is initiated by data planes other than the failed data plane.

10. The method of claim 1 , further comprising separating each partition in the partitioned data structure.

11. A method for handling failures in a data plane in a plurality of data planes, the method comprising:

generating a partitioned data structure, wherein the partitioned data structure is generated from a control processor including a failure detector, and the data structure includes one or more partitions for each of the plurality of data planes, each partition including routes for a source data plane to a destination data plane;

sending one or more partitions from the partitioned data structure to a data plane that is the source data plane in the routes;

detecting when a failure in a failed data plane in the plurality of data planes has been resolved, wherein the failure detector is configured to detect the failed data plane in the plurality of data planes; and

sending the failed data plane a partition associated with the failed data plane,

wherein the partition allows the failed data plane to resume sending data according to the routes found in the partition.

12. The method of claim 11 , further comprising notifying data planes other than the failed data plane that the failed data plane has failed, wherein the notified data planes do not send data for the one or more routes found in a partition associated with the failed data plane.

13. The method of claim 11 , further comprising notifying data planes other than the failed data plane that the failure has been resolved, wherein the notified data planes resume sending data for the one or more routes found in a partition associated with the failed data plane.

14. The method of claim 11 , wherein one partition includes all routes from a source data plane and to a destination data plane.

15. The method of claim 11 , further comprising removing any data partitions that have been received at the data planes that have the failed data plane as the destination data plane.

16. The method of claim 15 , further comprising if any partitions were removed, restoring the removed partitions.

17. The method of claim 16 , further comprising sending the removed partitions to each data plane other than the failed data plane.

18. The method of claim 17 , wherein the sending step is initiated by data planes other than the failed data plane.

19. The method of claim 11 , further comprising:

storing the data structure in persistent storage; and

sending one or more partitions to the failed data plane from the persistent storage after the failed data plane is restarted.

20. The method of claim 19 , wherein the sending step is initiated by data planes other than the failed data plane.

21. The method of claim 11 , further comprising separating each partition in the partitioned data structure.

22. A system for handling data plane failures, the system comprising:

a plurality of data planes; and

a control processor separate from the plurality of data planes; the control processor comprising:

a receiver configured to receive routes for route data, each route specifying a source data plane in which data is sent and a destination data plane in which data is received;

a failure detector configured to detect a failure in a data plane in the plurality of data planes;

a data structure generator configured to generate a data structure that groups the routes by a source data plane for each of the plurality of data planes;

a distributor configured to distribute the grouped routes to each associated source data plane;

a notifier configured to notify data planes other than the failed data plane of the failure, wherein the data planes are configured to not send data to a failed data plane upon the notification,

wherein the plurality of data planes comprise storage for storing the grouped routes that are received from the distributor.

23. The system of claim 22 , wherein the data planes are configured to remove a partition associated with the failed data plane upon the notification.

24. The system of claim 22 , wherein the control processor comprises a detector configured to detect when a failure in a data plane has been restarted.

25. The system of claim 24 , wherein the notifier is further configured to notify the data planes other than the failed data plane that the failure has been restarted.

26. The system of claim 25 , wherein the data planes other than the failed data plane are configured to start sending data to the data plane whose failure had been restarted.

27. The system of claim 25 , wherein the data planes other than the failed data plane are configured to reinstate the partitions associated with the failed data plane whose failure has been restarted.

28. The system of claim 25 , wherein the distributor is configured to send the failed data plane whose failure has been restarted partitions that have the failed data plane as the source data plane.

Assignments (10)
RELEASE OF SECURITY INTEREST Recorded Jun 24, 2024
From: CITIZENS BANK, N.A.
To: RIBBON COMMUNICATIONS OPERATING COMPANY, INC. (F/K/A GENBAND US LLC AND SONUS NETWORKS, INC.)
Reel/Frame 067822/0433 →
TERMINATION AND RELEASE OF FIRST SUPPLEMENT OT PATENT SECURITY AGREEMENT AT R/F 049035/0939 Recorded Dec 6, 2021
From: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
To: RIBBON COMMUNICATIONS OPERATING COMPANY, INC. (F/K/A GENBAND US LLC AND SONUS NETWORKS, INC.)
Reel/Frame 058740/0265 →
SECURITY INTEREST Recorded Mar 3, 2020
From: RIBBON COMMUNICATIONS OPERATING COMPANY, INC.
To: CITIZENS BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 052076/0905 →
CORRECTIVE ASSIGNMENT TO CORRECT THE SCHEDULE PREVIOUSLY RECORDED ON REEL 049035 FRAME 0939. ASSIGNOR(S) HEREBY CONFIRMS THE FIRST SUPPLEMENT TO PATENT SECURITY AGREEMENT. Recorded Aug 22, 2019
From: GENBAND US LLC; RIBBON COMMUNICATIONS OPERATING COMPANY, INC., FORMERLY KNOWN AS SONUS NETWORKS, INC.
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 050705/0001 →
FIRST SUPPLEMENT TO SECURITY AGREEMENT Recorded Apr 30, 2019
From: GENBAND US LLC; RIBBON COMMUNICATIONS OPERATING COMPANY, INC., FORMERLY KNOWN AS SONUS NETWORKS, INC.
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 049035/0939 →
CHANGE OF NAME Recorded Jan 16, 2019
From: SONUS NETWORKS, INC.
To: RIBBON COMMUNICATIONS OPERATING COMPANY, INC.
Reel/Frame 048078/0036 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 18, 2017
From: NETWORK EQUIPMENT TECHNOLOGIES, INC.
To: SONUS NETWORKS, INC.
Reel/Frame 044904/0829 →
RELEASE OF SECURITY INTEREST Recorded Oct 24, 2017
From: BANK OF AMERICA, N.A.
To: SONUS NETWORKS, INC.; SONUS FEDERAL, INC.; NETWORK EQUIPMENT TECHNOLOGIES, INC.; PERFORMANCE TECHNOLOGIES, INCORPORATED; SONUS INTERNATIONAL, INC.; TAQUA, INC.
Reel/Frame 044283/0361 →
SECURITY INTEREST Recorded Sep 12, 2014
From: SONUS NETWORKS, INC.; SONUS FEDERAL, INC.; NETWORK EQUIPMENT TECHNOLOGIES, INC.; PERFORMANCE TECHNOLOGIES, INCORPORATED; SONUS INTERNATIONAL, INC.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 033728/0409 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 19, 2003
From: RADHAKRISHNAN, JANARDHANAN; JAYARAMAN, PRAKASH; AGARWAL, SHANKAR; DEB, PREMASISH
To: NETWORK EQUIPMENT TECHNOLOGIES, INC.
Reel/Frame 014536/0971 →