Claims
- 1. A method for controlling routing of data comprising:
determining at least one data flow is active, the at least one data flow having an ingress portion of a current ingress path to a first point from a second point and an egress portion of a current egress path to the second point from the first point; and routing another data flow via a next ingress portion of a next path to the first point from the second point.
- 2. The method of claim 1, further comprising:
preserving the current ingress portion for the at least one active data flow after the another data flow is routed via the next ingress portion.
- 3. The method of claim 2, wherein preserving the current ingress portion comprises:
forming a current ingress association of the at least one active data flow with the current ingress portion; and routing data via the current ingress portion in accordance to the current ingress association.
- 4. The method of claim 2, further comprising:
extinguishing the preservation of the current ingress portion when the at least one data flow is inactive such that the current ingress portion is not available to route data.
- 5. The method of claim 3, wherein forming the current ingress association comprises:
identifying the at least one active data flow with at least one remote destination address related to the second point; identifying the current ingress portion with a first local network address related to a local source address; associating the at least one remote destination address with the first local network address; and storing data representing the association between the at least one remote destination address with the first local network address in a data structure within a database.
- 6. The method of claim 5, wherein the current ingress path is defined by a unique, specific remote destination address (/32).
- 7. The method of claim 5, wherein the database is an information base.
- 8. The method of claim 1, wherein determining at least one data flow of a current path is active comprises performing stateful inspection of the at least one flow.
- 9. The method of claim 8, wherein performing stateful inspection of the at least one flow comprises:
examining at least one TCP session-related characteristic; and using the at least one TCP session-related characteristic to determine that the at least one active flow is active.
- 10. The method of claim 1, wherein routing the another data flow via the next ingress portion comprises:
forming a next ingress association of the another data flow with the next ingress portion; and routing data via the next ingress portion in accordance to the next ingress association.
- 11. The method of claim 10, wherein forming the next ingress association comprises:
identifying the another data flow with at least one remote destination address related to the second point; identifying the next ingress portion with a second local network address related to a local source address; associating the at least one remote destination address with the second local network address; and storing data representing the association between the at least one remote destination address with the second local network address in a data structure within a database.
- 12. The method of claim 11, further comprising translating a first local network address into the second local network address.
- 13. The method of claim 11, wherein the at least one remote destination addresses is defined by a super-set or a group of remote destination addresses (/24).
- 14. The method of claim 1, further comprising:
routing the another data flow via a next egress portion of a next egress path to the second point from the first point.
- 15. The method of claim 14, further comprising:
preserving the current egress portion for the at least one active data flow after the another data flow is routed via the next egress portion.
- 16. The method of claim 15, wherein preserving the current egress portion comprises:
forming a current egress association of the at least one active data flow with the current egress portion; and routing data via the current egress portion in accordance to the current egress association.
- 17. The method of claim 15, further comprising:
extinguishing the preservation of the current egress portion when the at least one data flow is inactive such that the current egress portion is not available to route data.
- 18. The method of claim 16, wherein forming the current egress association comprises:
identifying the at least one active data flow with at least one remote destination address related to the second point; identifying the current egress portion with a first interface; associating the at least one remote destination address with the first interface; and storing data representing the association between the at least one remote destination address in a data structure within a database.
- 19. The method of claim 18, wherein the first interface is a physical interface.
- 20. The method of claim 18, wherein the first interface is a virtual interface.
- 21. The method of claim 18, wherein the database is an information base.
- 22. The method of claim 14, wherein routing the another data flow via the next egress portion comprises:
forming a next egress association of the another data flow with the next egress portion; and routing data via the next egress portion in accordance to the next egress association.
- 23. The method of claim 22, wherein forming the next egress association comprises:
identifying the another data flow with at least one remote destination address related to the second point; identifying the next egress portion with a second interface; associating the at least one remote destination address with the second interface; and storing data representing the association between the at least one remote destination address with the second interface in a data structure within a database.
- 24. A system for controlling routing of data through one or more data networks, the system comprising:
a flow inspector designed to receive local network data traffic from or to a local source address, the flow inspector configured to determine that at least one data flow of the local network traffic is active; an information base coupled to the flow inspector to receive data representing one or more flows that are active, the information base configured to provide a current ingress portion of a current ingress path for the at least one active flow from a second point to first point; and a data director coupled to the information base to receive the local network data traffic and data representing a next ingress portion of a next ingress path, the data director configured to route data via the current ingress portion for active flows and to route data via the next ingress portion for next data flows.
- 25. The system of claim 24, further comprising a controller configured to provide a route change including the next ingress portion.
- 26. The system of claim 25, further comprising a controller configured to provide the next ingress portion to the data director.
- 27. The system of claim 25, further comprising a controller configured to provide the next ingress portion to the information base.
- 28. The system of claim 25, wherein the information base is a network address information base (NIB).
- 29. The system of claim 28, further comprising a network address translation (NAT) engine coupled to the network address information base to receive information, the network address translation engine configured to route data via the current ingress portion for active flows to the first point from the second point and to route data via the next ingress portion for next data flows to the first point from the second point, where the next ingress portion is associated with an address translated by the network address translation engine.
- 30. The system of claim 29, wherein the network translation engine is further configured to route data such that the active data flow routed from the first point to the second point returns to the first point via the current ingress portion and the next data flow route from the first point to the second point returns to the first point via the next ingress portion.
- 31. The system of claim 29, wherein the current ingress portion and the next ingress portion is associated with a first data network and a second data network, respectively, of a plurality of data networks.
- 32. The system of claim 24, wherein
the information base is further configured to provide a current egress portion of a current egress path to the second point from the first point; and the data director is further coupled to the information base to receive data representing a next egress portion of a next egress path, the data director configured to route data via the current egress portion for active flows and to route data via the next egress portion for next data flows.
- 33. The system of claim 32, further comprising a controller configured to provide a route change including the next egress portion.
- 34. The system of claim 32, further comprising a controller configured to provide the next egress portion to the data director.
- 35. The system of claim 32, further comprising a controller configured to provide the next egress portion to the information base.
- 36. The system of claim 32, wherein the information base includes a forwarding information base (FIB).
- 37. The system of claim 32, further comprising a forwarding engine coupled to the forwarding information base to receive information, the forwarding engine configured to route data via the current egress portion for active flows to the second point from the first point and to route data via the next egress portion for next data flows to the second point from the first point.
- 38. The system of claim 37, wherein the forwarding engine associates a first virtual local access network (VLAN) tag to active data flows from the first point to the second point, where the first VLAN tag is associated with the current egress portion, and associates a second VLAN tag to next data flows from the first point to the second point where the second VLAN tag is associated with the next egress portion.
- 39. The system of claim 38, further comprising at least one network device coupled to the forwarding engine to receive the active data flows and the next data flows, the at least one network device having two or more virtual router facilities (“VRFs”), each of the two or more VRFs is coupled to a data network,
wherein, the at least one network device routes the active data flows to one data network and routes the next data flows to another data network according to the first VLAN and the second VLAN tags, respectively.
- 40. The system of claim 32, wherein the information base includes a routing information base (RIB).
- 41. The system of claim 40, further comprising a routing engine coupled to the routing information base to receive information, the routing engine configured to route data via the current egress portion for active flows to the second point from the first point and to route data via the next egress portion for next data flows to the second point from the first point.
- 42. The system of claim 41, wherein the routing engine associates a first physical interface to active data flows to the second point from the first point, where the first physical interface is associated with the current egress portion, and associates a second physical interface to next data flows to the second point from the first point where the second physical interface is associated with the next egress portion.
- 43. The system of claim 41, further comprising at least one network device coupled to the routing engine to receive the active data flows and the next data flows, the at least one network device having two or more egress gateways, each of the two or more egress gateways is coupled to a data network,
wherein, the at least one network device routes the active data flows to one data network and routes the next data flows to another data network according to the first physical and the second physical interfaces, respectively.
- 44. A system for controlling routing of data through one or more data networks, the system comprising:
a flow inspector designed to receive local network data traffic from or to a local source address, the flow inspector configured to determine that at least one data flow of the local network traffic is active; an information base coupled to the flow inspector to receive data representing one or more flows that are active, the information base configured to provide a current egress portion of a current egress path to a second point to from a first point; and a data director coupled to the information base designed to receive the local network data traffic and data representing a next egress portion of a next egress path, the data director configured to route data via the current egress portion for active flows and to route data via the next egress portion for next data flows.
- 45. The system of claim 44, wherein the information base includes a forwarding information base (FIB).
- 46. The system of claim 45, further comprising a forwarding engine coupled to the forwarding information base to receive information, the forwarding engine configured to route data via the current egress portion for active flows to the second point from the first point and to route data via the next egress portion for next data flows to the second point from the first point.
- 47. The system of claim 46, wherein the forwarding engine associates a first virtual local access network (VLAN) tag to active data flows from the first point to the second point, where the first VLAN tag is associated with the current egress portion, and associates a second VLAN tag to next data flows from the first point to the second point where the second VLAN tag is associated with the next egress portion.
- 48. The system of claim 47, further comprising at least one network device coupled to the forwarding engine to receive the active data flows and the next data flows, the at least one network device having two or more virtual router facilities (“VRFs”), each of the two or more VRFs is coupled to another network device, where the another network device is coupled to a data network,
wherein, the at least one network device routes the active data flows to a first another network device and routes the next data flows to a second another network device according to the first VLAN and the second VLAN tags, respectively.
- 49. The system of claim 48, wherein the first another and the second another network device each further comprises:
a network address translation (NAT) engine, the network address translation engine configured to route data via a current ingress portion for active flows to the first point from the second point and to route data via a next ingress portion for next data flows to the first point from the second point, where the next ingress portion is associated with an address translated by the network address translation engine.
- 50. A router for controlling routing of data to a remote destination address from a local source address in a local source network, the local source network is multi-homed and is coupled to two or more first level data networks, the router comprising:
a flow inspector designed to receive local network data traffic from a local source address, the flow inspector configured to determine that at least one data flow of the local network traffic is active; an information base comprising:
a network address translation information base configured to provide a current ingress portion of a current ingress path for the at least one active data flow to the local source address from the remote destination address, a forwarding information base, configured to provide a current egress portion of a current egress path for the at least one active data flow to the remote destination address from the local source address, each of the information bases coupled to the flow inspector to receive data representing one or more flows that are active; and a data director comprising:
a network address translation engine coupled to the network address translation information base designed to receive the local network data traffic and data representing a next ingress portion of a next ingress path, and a forwarding engine coupled to the forwarding information base to receive the local network data traffic and data representing a next egress portion of the next egress path, wherein, the network address translation engine is designed to route the active flows to the remote destination address via a first multi-homed first level data network, where the ingress path for the active flow includes a second multi-homed first level data network, the network address translation engine is designed further to route the next flows to the remote destination address via the first multi-homed first level data network, where the ingress path for the next flow includes a third multi-homed first level data network, and wherein, the forwarding engine is designed to route the active flows to the remote destination address via one multi-homed first level data network including the egress path for the active flow and is designed further to route next flows to the remote destination address via another multi-homed first level data network including the egress path for the next flow.
- 51. A method for controlling routing of data comprising:
determining at least one data flow is active, the at least one data flow having an ingress portion of a current ingress path to a first point from a second point and an egress portion of a current egress path to the second point from the first point; routing another data flow via a next ingress portion of a next path to the first point from the second point; preserving the current ingress portion for the at least one active data flow after the another data flow is routed via the next ingress portion, where preserving the current ingress portion includes:
forming a current ingress association of the at least one active data flow with the current ingress portion, and routing data via the current ingress portion in accordance to the current ingress association, extinguishing the preservation of the current ingress portion when the at least one data flow is inactive such that the current ingress portion is not available to route data; routing the another data flow via a next egress portion of a next egress path to the second point from the first point; preserving the current egress portion for the at least one active data flow after the another data flow is routed via the next egress portion, where preserving the current egress portion includes:
forming a current egress association of the at least one active data flow with the current egress portion, and routing data via the current egress portion in accordance to the current egress association; and extinguishing the preservation of the current egress portion when the at least one data flow is inactive such that the current egress portion is not available to route data.
Parent Case Info
[0001] This application claims priority from a U.S. Provisional Patent Application entitled “SYSTEM AND METHOD TO ASSURE NETWORK SERVICE LEVELS AND BANDWIDTH MANAGEMENT WITH INTELLIGENT ROUTING,” identified by Attorney Docket No. 021089-000200US and filed on Nov. 2, 2001, and is incorporated by reference for all purposes. This application also claims priority from U.S. Patent Applications entitled “SYSTEM AND METHOD TO ASSURE NETWORK SERVICE LEVELS WITH INTELLIGENT ROUTING” and having U.S. patent application Ser. No. 09/833,219 and Attorney Docket No. 021089-000100US, filed on Apr. 10, 2001, and entitled “SYSTEM AND METHOD TO PROVIDE ROUTING CONTROL OF INFORMATION OVER DATA NETWORKS,” having U.S. patent application Ser. No. ______ and Attorney Docket No. netVmg-2329US, and filed on Dec. 7, 2001, which are incorporated by reference for all purposes.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60350186 |
Nov 2001 |
US |