IP Library Granted Patent US 8,200,839
Granted Patent B1
US 8,200,839 · App. 10/889,647 · Granted Jun 12, 2012

Method and apparatus for restoring service label information

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 8,200,839
App. No.
10/889,647
Granted
Jun 12, 2012
Kind
B1
Abstract

Multiple service label types may be used in a given network element to optimize scalability of the data plane, minimize overhead associated with service label management, and allow new services to be offered. Service label management may be done in a dynamic manner so that service labels may be selected for routes in a dynamic fashion as the network changes. VPNs handled by the network element may have different types of service labels, and different routes within a particular VPN may be allocated different service label types. Service label requests may be stored on the data plane to allow a service label request database to be restored from the data plane upon a control plane failure, so that new service labels are not required to be allocated after a control plane failure.

Claims (38)

1. A method for allocating service labels, the method comprising the steps of:

receiving, by a service label management system from a virtual routing and forwarding process, a first request for the service label management system to allocate a service label to the virtual routing and forwarding process, said first request containing request information that comprises an identification of the virtual routing and forwarding process and an attribute indicating a type of service label requested;

searching by the service label management system, based on the request information, a database of previous requests from virtual routing and forwarding processes for allocation of service labels, to ascertain if the request information of the first request matches request information of a previous request for service label allocation;

if the first request matches a previous request, assigning to the first request, a service label previously assigned to the previous request and passing the service label previously assigned to the previous request to the virtual routing and forwarding process;

if the first request does not match a previous request, assigning to the first request a service label not currently in use on the network and passing the assigned service label to the virtual routing and forwarding process; and

upon occurrence of a loss of data by a control plane, receiving, by the control plane from a data plane, request information associated with the requests for service label allocation and the service labels that were allocated by the service label management system in response to the request and stored in the data plane, to enable the control plane to recreate the database of previous service label requests and allocated service labels after the occurrence of the loss of data by the control plane;

wherein the service label is an inner label to be used in an Multi-Protocol Label Switching (MPLS) based Virtual Private Network (VPN), the MPLS-based VPN using the inner label to identify traffic received from a Label Switched Path and using an outer transport label to switch traffic along the Label Switched Path.

2. The method of claim 1 , wherein the step of searching comprises the step of comparing the request information associated with the first request with request information associated with the previous requests.

3. The method of claim 1 , further comprising the step of:

if the first request does not match a previous request, assigning to the first request a new service label according to the request information.

4. The method of claim 1 , further comprising the step of:

distributing the assigned service label and request information to a data plane, said service label being configured to be attached as the inner label by said data plane to packets associated with the MPLS-VPN.

5. The method of claim 1 , wherein the database is a service label cache.

6. The method of claim 5 , wherein the step of generating a request for a service label is performed in connection with a route to be advertised by the virtual routing and forwarding process, the method further comprising the step of advertising the route with the service label after the service label has been allocated by the service label management system.

7. A method for enhancing resiliency of service label information in a network element, the network element having a control plane and a data plane, the method comprising the steps of:

allocating, by a service label management system, service labels in response to requests for service label allocation from service label clients, each service label request containing request information that comprises an identification of the service label client and an attribute indicating the type of service label requested by the service label client, the service labels being inner labels for use in Multi-Protocol Label Switching (MPLS) based Virtual Private Networks (VPNs), the inner label being used at a destination network element to differentiate traffic received on a Label Switched Path from the MPLS network and not being used as a transport label on the Label Switched Path;

passing the service labels to the data plane to be used by the data plane in connection with forwarding traffic onto the MPLS based VPN;

communicating the request information contained in the request and the service label that was allocated by the service label management system in response to the request, from the control plane to the data plane;

storing the request information and the service label that was allocated by the service label management system in response to the request in the data plane; and

upon occurrence of a loss of data by the control plane, receiving, by the control plane from the data plane, the request information associated with the requests for service label allocation and the service labels that were allocated by the service label management system in response to the request and stored in the data plane, to enable the control plane to recreate a database of previous service label requests and allocated service labels after the occurrence of the loss of data by the control plane;

wherein allocating service labels after the occurrence of the loss of data by the control plane comprises the steps of:

searching by the service label management system, based on the request information, the database of previous service label requests and allocated service labels, to ascertain if the request information of the first request matches request information of a previous request for service label allocation;

if the first request matches a previous request, assigning to the first request, a service label previously assigned to the previous request and passing the service label previously assigned to the data plane; and

if the first request does not match a previous request, assigning to the first request a service label not currently in use on the network and passing the assigned service label to the data plane.

8. The method of claim 7 , wherein the step of communicating information to the data plane comprises distributing label information to the data plane to program the data plane to forward traffic according to the service label, and wherein the information associated with the request for service label allocation that is communicated to the data plane is not usable by the data plane to forward information without the service label.

9. The method of claim 7 , wherein the loss of data by the control plane occurs in connection with a failure of the control plane.

10. The method of claim 7 , wherein the service label has a service label type attribute, said service label type attribute specifying to the data plane actions to be taken on packets associated with the service label.

11. The method of claim 10 , wherein the actions to be taken on the packets are different for different service label types.

12. A method of providing resiliency to service label management in a network element, the method comprising the steps of:

receiving at a data plane of the network element, service labels for use in programming the data plane to handle traffic on the network element and service label request information associated with the service labels, the service label request information including, for each service label, an identification of a service label client that requested allocation of the service label, and an attribute indicating a type of service label requested by the service label client; and

upon request by a control plane of the network element, providing the service label request information by the data plane to restore the service label request information to a database for use by the control plane to enable the control plane to re-allocate the same service label after failure of the control plane as had been previously allocated by the control plane prior to failure of the control plane;

wherein the service label is an inner label to be used in an Multi-Protocol Label Switching (MPLS) based Virtual Private Network (VPN), the MPLS-based VPN using the inner label to identify traffic received from a Label Switched Path and using an outer transport label to switch traffic along the Label Switched Path;

wherein re-allocating service labels after the occurrence of the loss of data by the control plane comprises the steps of:

searching by the service label management system, based on the request information, the database of previous service label requests and allocated service labels, to ascertain if the request information of the first request matches request information of a previous request for service label allocation;

if the first request matches a previous request, assigning to the first request, a service label previously assigned to the previous request and passing the service label previously assigned to the data plane; and

if the first request does not match a previous request, assigning to the first request a service label not currently in use on the network and passing the assigned service label to the data plane.

13. The method of claim 12 , wherein the service label request information is not used by the data plane to program the data plane to handle traffic on the network element.

14. The method of claim 12 , wherein the service labels may be one of a plurality of types, each type specifying a set of actions to be taken by the data plane for traffic associated with that service label type.

Assignments (7)
RELEASE (REEL 038041 / FRAME 0001) Recorded Jan 2, 2018
From: JPMORGAN CHASE BANK, N.A.
To: RPX CORPORATION; RPX CLEARINGHOUSE LLC
Reel/Frame 044970/0030 →
SECURITY AGREEMENT Recorded Mar 9, 2016
From: RPX CORPORATION; RPX CLEARINGHOUSE LLC
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 038041/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 9, 2015
From: ROCKSTAR CONSORTIUM US LP; ROCKSTAR CONSORTIUM LLC; BOCKSTAR TECHNOLOGIES LLC; CONSTELLATION TECHNOLOGIES LLC; MOBILESTAR TECHNOLOGIES LLC; NETSTAR TECHNOLOGIES LLC
To: RPX CLEARINGHOUSE LLC
Reel/Frame 034924/0779 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 6, 2014
From: ROCKSTAR CONSORTIUM US LP
To: BOCKSTAR TECHNOLOGIES LLC
Reel/Frame 032399/0116 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 7, 2014
From: ROCKSTAR BIDCO, LP
To: ROCKSTAR CONSORTIUM US LP
Reel/Frame 032168/0750 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 28, 2011
From: NORTEL NETWORKS LIMITED
To: ROCKSTAR BIDCO, LP
Reel/Frame 027143/0717 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 12, 2004
From: AYSAN, CAN; YUEN, MATTHEW
To: NORTEL NETWORKS LIMITED
Reel/Frame 015581/0668 →