Claims
- 1. A control module for a provider edge node of a provider network, comprising:
a session table storing control information relating to peering sessions between the provider edge node and the provider network, a circuit table storing, for each data tunnel, data tunnel identification data, encapsulation label data, outgoing data packet interface identification data, CIR data, class data, setup priority data, and holding priority data; a packet table storing, for each data packet flow, packet data interface identification data, data tunnel identification data, encapsulation label data, CIR data, class data, setup priority data, and holding priority data; an ingress resource table storing, for each data tunnel, data tunnel identification data, physical bandwidth data and available bandwidth for each of a plurality of classes; an egress resource table storing, for each egress data interface, egress data interface identification data, physical bandwidth data, available total bandwidth data, and available bandwidth for each of a plurality of classes; admission control logic operatively connected to said session table, said circuit table, said packet table, said ingress resource table, and said egress resource table; said admission control logic referring to said session table, said circuit table, said packet table, said ingress resource table, and said egress resource table to perform admission control on behalf of a new data flow requesting ingress to and egress from the provider network.
- 2. A method of establishing pseudo-wires between an initiating provider edge node and a terminating provider edge node of a provider network so as to permit admission control, comprising:
initiating a pseudo-wire request from the initiating provider edge node requesting a new data flow having a network resource requirement; searching an ingress resource table for available network resources on one or more data tunnels to determine if there is a sufficient amount of available network resources on one or more data tunnels connecting the initiating and terminating provider edge nodes to satisfy the new data flow; wherein upon the determination that there is a sufficient amount of available network resources to satisfy the new data flow, the method further comprises:
updating a packet table associated with the initiating provider edge node with the network resource requirement of the new data flow; updating the ingress resource table with the network resources to be consumed by the new data flow; and creating and sending a control message to the terminating provider edge node requesting a pseudo-wire to be set up between the initiating and terminating provider edge nodes to carry the new data flow.
- 3. The method according to claim 2, wherein at the terminating provider edge node the method further comprises:
receiving the control message requesting a pseudo-wire to be set up between the initiating and terminating provider edge nodes; and determining if there are enough available network resources on the outgoing data interface to accommodate the new data flow based on the information contained in the control message and an egress resource table.
- 4. The method according to claim 3, wherein upon the determination that there is a sufficient amount of available network resources on the outgoing data interface to accommodate the new data flow, the method further comprises:
updating a circuit table associated with the terminating provider edge node with the network resource requirement data of the new data flow; and updating an egress resource table with the network resources to be consumed by the new data flow.
- 5. The method according to claim 3, wherein upon the determination that there is not a sufficient amount of available network resources on the outgoing data interface to accommodate the new data flow, the method further comprises:
rejecting the pseudo-wire request.
- 6. The method according to claim 4,
wherein the network resource requirement of the new data flow includes CIR data and class data.
- 7. A method of establishing pseudo-wires between an initiating provider edge node and a terminating provider edge node of a provider network so as to permit admission control, comprising:
initiating a pseudo-wire request from the initiating provider edge node requesting a new data flow having network resource requirements; determining if there is a sufficient amount of available network resources on one or more data tunnels connecting the initiating and terminating provider edge nodes to satisfy the new data flow; and shuffling at least one existing pseudo-wire to accommodate the network resource requirements the new data flow if said determining step determines that there are insufficient available network resources.
- 8. The method according to claim 7, said shuffling further including exchanging control messages between the initiating and terminating provider edge nodes to adjust the shuffled pseudo-wires and ensure that the existing pseudo-wires are not disturbed due to said shuffling.
- 9. The method according to claim 7, further comprising:
preempting at least one existing pseudo-wire with the new data flow if said shuffling fails to provide enough network resources to accommodate the new data flow.
- 10. The method according to claim 9, said preempting further including exchanging control messages between the initiating and terminating provider edge nodes to adjust the at least one preempted pseudo-wire, ensure that the remaining pseudo-wires are not disturbed due to said preemption, and ensure that data flows associated with the preempted pseudo-wire can be properly terminated.
- 11. The method according to claim 9, further comprising:
re-determining, after said shuffling and said preempting, if there is a sufficient amount of available network resources on one or more data tunnels connecting the initiating and terminating provider edge nodes to satisfy the new data flow based on the network resource requirements of the new data flow and an ingress resource table.
- 12. The method according to claim 11, wherein upon the re-determination that there is not a sufficient amount of available network resources to satisfy the new data flow after said shuffling, the method further comprises:
rejecting the new data flow request.
- 13. The method according to claim 11, wherein upon the re-determination that there is a sufficient amount of available network resources to satisfy the new data flow after said shuffling, the method further comprises:
re-shuffling at least one existing pseudo-wire to accommodate the network resources of the new data flow.
- 14. The method according to claim 7,
said determining step searching an ingress resource table for available network resources on one or more data tunnels existing between the initiating and terminating provider edge nodes.
- 15. The method according to claim 14,
wherein upon the determination that there is a sufficient amount of available network resources to satisfy the new data flow, the method further comprises: updating a packet table associated with the initiating provider edge node with the network resource requirements of the new data flow; updating the ingress resource table with the network resources to be consumed by the new data flow; and creating and sending a control message to the terminating provider edge node requesting a pseudo-wire to be set up within at least one data tunnel between the initiating and terminating provider edge nodes to carry the new data flow.
- 16. The method according to claim 15, wherein at the terminating provider edge node the method further comprises:
receiving the control message requesting a pseudo-wire to be set up between the initiating and terminating provider edge nodes; and determining if there are enough available network resources on the outgoing data interface to accommodate the new data flow based on the information contained in the control message and an egress resource table.
- 17. The method according to claim 16, wherein if said determination step determines that there are not enough available network resources on the outgoing data interface to accommodate the new data flow, the method further comprises:
preempting bandwidth between the terminating provider edge node and a customer equipment node connected to the terminating provider edge node via the outgoing data interface and the associated pseudo-wire in order to accommodate the new data flow.
- 18. The method according to claim 17, further comprising:
re-determining, after said preempting, if there are enough available network resources on the outgoing data interface to accommodate the new data flow based on the information contained in the control message and an egress resource table.
- 19. The method according to claim 18, wherein upon the re-determination that there is not a sufficient amount of available network resources on the outgoing data interface to accommodate the new data flow, the method further comprises:
rejecting the pseudo-wire request.
- 20. The method according to claim 16, wherein upon the re-determination that there is not a sufficient amount of available network resources on the outgoing data interface to accommodate the new data flow, the method further comprises:
updating a circuit table associated with the terminating provider edge node with the network resource requirements of the new data flow; and updating an egress resource table with the network resources to be consumed by the new data flow.
- 21. The method according to claim 20,
wherein the network resource requirements of the new data flow include CIR data, class data, setup priority data, and holding priority data.
CROSS-REFERENCE TO RELATED APPLICATION
[0001] This application claims priority to U.S. patent application Ser. No. 10/757,528, filed Jan. 15, 2004 (which is a provisional conversion of and claims priority to Provisional Application No. 60/440,313, filed Jan. 15, 2003); U.S. Provisional Patent Application 60/444,456, filed Feb. 3, 2003, and U.S. Provisional Patent Application 60/444,440, filed Feb. 3, 2003, all of which are by common inventors, Ping Pan and Ralph Theodore Hofmeister, all of which are hereby fully incorporated herein by reference.
Provisional Applications (2)
|
Number |
Date |
Country |
|
60444456 |
Feb 2003 |
US |
|
60444440 |
Feb 2003 |
US |