# Patent

## Title
MPLS virtual private network using dual network cores

## Abstract

A multi-protocol label switching system using multiple cores. In establishing a virtual private network in a MPLS system, more than one core is available. Paths are established over each core separately and weights are assigned to the two routes. Thus, the route which is preferred by manually configuring in advance will be chosen.

## Background
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates generally to a MPLS data network system and more particularly to a MPLS system where multiple cores can be used for transporting data and different weights are assigned to the different cores.
2. Description of the Background Art
The present day worldwide web is composed of a number of interconnected data networks throughout the world. These data networks may be of a number of different types, and were developed by different providers, based on different protocols. More recently, a MPLS (multi-protocol label switching) network has been designed which allows various dissimilar data packets to be carried by the same network with the addition of new labels, which are recognized by the MPLS system, regardless of the source of the original data. Thus, the MPLS network may be connected to dissimilar networks and carry packets of data between them.
Entry points to a MPLS network are known as label edge routers. Such a router can accept traffic from different sources and thus may be connected to different networks. Data packets are assigned labels as they enter the network. These labels can provide a mechanism to group related sets of the packets together and isolate one group of packets from another. Thus, the packets are forwarded at layer 2, which eliminates the need for layer 3 forwarding between nodes. This simplifies the forwarding process and results in high speed and high performance.
Arrangements of MPLS networks are seen, for example, in U.S. Pat. Nos. 6,477,166 and 6,473,421.
The MPLS network can be used successfully by network service providers, which provide a virtual private network service for their customers. That is, the data stream can be controlled without having to stop at every node along the path by setting up an end-to-end label-switching path. However, further improvements in these networks are possible, especially in a circumstance where a system is being replaced or upgraded in order to avoid any loss of service for the customer.
SUMMARY OF THE INVENTION
Accordingly, the present invention provides a method for using multiple network cores in a MPLS system.
Also, the present invention provides a system for using two or more network cores to provide a virtual private network in a MPLS system.
The present invention further provides a system for providing dual network cores in a MPLS system where different weights are provided for the different cores.
The present invention still further provides a method for weighting routes in dual network cores in a MPLS system.
The present invention further provides a MPLS virtual private network using dual network cores where the route through one core has a different weighting than the route through the other.
Briefly, this is achieved by providing a network having multiple cores within the network with addresses provided over both cores and a selection made based on a weight assigned to the different cores.



BRIEF DESCRIPTION OF THE DRAWINGS
A more complete appreciation of the invention and many of the attendant advantages thereof will be readily obtained as the same becomes better understood by reference to the following detailed description when considered in connection with the accompanying drawing, wherein:
The FIGURE is a diagram showing the system of the present invention.



DESCRIPTION OF THE PREFERRED EMBODIMENTS
Referring now to the drawing, wherein the present system is shown as 10. This system includes two different network cores 12 and 14. Each core includes a series of routers. In network 12, routers 16, 18 and 20 are shown. In network 14, routers 24, 26 and 28 are shown. Network 14 also includes a route reflector 22.
The routers in network 12 are connected to each other as shown by lines 30, 32 and 34. Likewise, the routers in network 14 are connected by lines 54, 56 and 58. While these are shown as individual lines, in fact each of the lines may include a series of other routers along the way. Also, of course, each of the networks contains considerably more than three routers.
In addition to the lines for carrying data between the routers, there are also connections to establish addresses between the various routers. Thus, in network 12 these are labeled as 36, 38 and 40. When data packets are passed from one router to another, a path is first established by advertising addresses to other routers in the network. The path is then established before the data packet is passed. It is also possible for data to be transferred between routers in different networks. Thus, lines 42, 44 and 46 connect corresponding routers in different networks.
A route reflector 22 is also provided in network 14 to advertise addresses between the two different networks. Thus, address connections 48, 50 and 52 are provided between this route reflector and the routers of network 12.
In operation, incoming data packets are connected to a label edge router in each core. Alternatively, one edge router may be used which is connected to routers in both cores. When data is set to be transferred, a private virtual network is established by advertising addresses in both cores. Two different paths are established with one path in each core. This arrangement allows a permanent virtual circuit to be formed in each network so that the data can be carried in either network. Weights are assigned to the different paths. If the weights are equal, the various packets will balance the load of the traffic over each core. However, normally one route will be favored over the other and assigned a higher weight. This is manually configured into the network. As a result, packets are carried through one core rather than the other under normal conditions. However, this arrangement provides the ability of the other core to also carry the data.
This arrangement can be especially useful in certain circumstances. Thus, if the system is being upgraded to a different type of network, it is possible to slowly bring data into the new network as it is being implemented. Thus, customers can be migrated from one network core to another. It is also possible to use both cores in order to increase the capacity of the system. It further provides the ability to use different parallel carriers when necessary.
In operation, if the input is connected to router 16 which operates as the edge router, a first path is established in network 12 by first advertising addresses over connections 36, 38 and 40 and a path is established across the network using paths 30, 32 and 34. Of course, both the addressing and data paths have many more possible combinations. At the same time, a second path is configured through network 14 by advertising addresses with route reflector 22 as indicated by 48, 50 and 52. The route is then established using routers 24, 26 and 28 and data paths 54, 56 and 58. However, once the two paths are established, a weight is given to each path, which is preset into the networks manually. The weighting causes one path to be favored over the other.
It is also possible to utilize two cores merely as redundancy feature to avoid problems with quality of service or to handle overload situations.
Numerous additional modification and variations of the present invention are possible in light of the above teachings. It is therefore to be understood that within the scope of the appended claims, the invention may be practiced otherwise than as specifically described herein.

## Claims

1. A method comprising:
in a telecommunications network comprising a plurality of cores, each core comprising a plurality of routers communicatively coupled to said network, providing parallel data input to each of said plurality of cores, each of said plurality of cores comprising a plurality of determined paths, each of said plurality of determined paths having a determined weight, said weights adapted to allow said network to manage traffic across said plurality of cores.

2. The method of claim 1, further comprising:
providing said plurality of cores.

3. The method of claim 1, further comprising:
receiving said data input at each core of said plurality of cores.

4. The method of claim 1, further comprising:
determining each path of said plurality of determined paths.

5. The method of claim 1, further comprising:
weighting each path of said plurality of determined paths.

6. The method of claim 1, further comprising:
transmitting said data input via an established private virtual network between routers on said selected path, said virtual private network established by advertising addresses in at least two cores of said plurality of cores.

7. The method of claim 1, further comprising:
establishing at least two distinct paths with one path of said at least two different paths in each core.

8. The method of claim 1, wherein, one edge router is connected to more than one core.

9. The method of claim 1, wherein, each path is determined by advertising addresses in a corresponding core of said plurality of cores.

10. The method of claim 1, wherein, said path weighting are set equally to balance a load of traffic over each core.

11. The method of claim 1, wherein, said path weighting are set manually in advance.

12. The method of claim 1, further comprising adding an additional core to said plurality of cores to increase the capacity of said network.

13. The method of claim 1, further comprising migrating a plurality of users from a first core of said plurality of cores to a second core of said plurality of cores.

14. A system comprising:
A plurality of routers communicatively coupled to a telecommunications network, said routers adapted to provide parallel data input to each of a plurality of cores, each of said plurality of cores comprising a plurality of determined paths, each of said plurality of determined paths having a determined weight, said weights adapted to allow said network to manage traffic across said plurality of cores.

15. The system of claim 14, further comprising:
at least one edge router.

16. The system of claim 14, wherein, said data path forms a virtual private network for a customer.

17. The system of claim 14, wherein, one edge router is provided for each core.

18. The system of claim 14, wherein, addresses are advertised to establish each data path within said plurality of cores.

19. The system of claim 14, wherein, distinct routing protocols are followed in different cores.

20. One or more tangible machine-readable storage media comprising machine readable instructions which, when executed, cause one or more routers to perform a method comprising:
in a telecommunications network comprising a plurality of cores, each core comprising a plurality of routers communicatively coupled to said network, providing parallel data input to each of said plurality of cores, each of said plurality of cores comprising a plurality of determined paths, each of said plurality of determined paths having a determined weight, said weights adapted to allow said network to manage traffic across said plurality of cores.