1. Field of the Invention
The present invention relates to a method and nodes for performing bridging of data traffic over an access domain.
2. Description of the Related Art
Recent years have seen the explosion of Internet Protocol (IP) networks. Initially developed to allow universities and researchers to communicate and cooperate in research projects, it has grown into networks offered at a mass-market level. Nowadays, it is normal for households to have a connection to an IP network to surf the world-wide-web, play interactive games, carry Voice over IP, download documents and softwares, make electronic business transactions, etc.
Reference is now made to
Though
The initial principle at the basis of IP networks is to rely on switches and routers, which perform as few and as little operations as possible before routing incoming data traffic towards their final destination. For doing so, different kinds of messages are available: Unicast messages, Multicast messages and Broadcast messages. For each of those three types of messages, ranges of addresses are allocated for each type of messages. Unicast messages are used to exchange messages between one sender and one recipient. Multicast messages allow one sender to reach multiple recipients. As to broadcast messages, they are used to reach all switches part of a segment of the IP network.
More particularly, Unicast messages are used to communicate data between user domains 110 and network service provider domains 140 and/or application service provider domains 150. Unicast messages can also be used to communicate data between user domains 110. Whenever Unicast messages are used on the access network 130, the switches (not shown for clarity purposes) of the access network 130 need to switch the corresponding packets so as to forward the Unicast message to its destination. In expansive networks, such as IP networks, switches have to maintain large tables to allow proper switching of the packets. In addition, the forwarding of Unicast messages from a source to a destination may necessitate the interaction of many switches, thus resulting in a lot of data traffic on the access network 130 for one Unicast message.
There is currently no known solution to the problems associated with the explosion of the number of user devices and of service providers offering services on IP networks. Furthermore, no long-term solution has been identified to allow a tangible solution to the increasing data traffic of large IP networks servicing thousands of User Domains.
Accordingly, it should be readily appreciated that in order to overcome the deficiencies and shortcomings of the existing solutions, it would be advantageous to have a method and nodes for efficiently performing bridging of data traffic over an access domain, thus tangibly reducing data traffic and offloading the network. The present invention provides such a method and nodes.
The present invention efficiently allows thousands of user domains to send and received data traffic over an access domain by using service bindings.
For doing so, the method of the present invention performs bridging of data traffic over an access domain. More particularly, for data traffic received at a first access node from a first user domain, a corresponding service binding is identified. Then, the received data traffic is tunnelled in a Unicast addressed to an access edge node in accordance with the identified service binding. Afterwards, the tunnelled data traffic is forwarded to the access edge node. Upon receipt of the tunnelled data traffic at the access edge node, the service binding corresponding thereto is identified. The tunnelled data traffic is then redirected to a second access node in accordance with the identified service binding. And, upon receipt of the redirected tunnelled data traffic at the second access node, the tunnelled data traffic is detunnelled and forwarded to the second user domain.
Another aspect of the present invention relates to an access edge node, adapted to perform the method of the present invention. More precisely, the access edge node includes an access domain input/output unit for receiving and sending data traffic on the access domain and a service bindings hosting unit for storing information on service bindings implicating the access edge node. The access edge node also includes a controlling unit. The controlling unit performs multiple roles: i) determining that the received data traffic at the access domain input unit is a Unicast message for bridging data traffic from a first user domain towards a second user domain, ii) identifying with the service bindings hosting unit a service binding corresponding to the Unicast message, iii) modifying a destination address of the Unicast message to correspond to an address of a serving node of the second user domain in accordance with the identified service binding, and iv) handing over the modified Unicast message to the access domain input/output unit for sending over the access domain.
In another aspect, the present invention is directed to an access node for bridging data traffic over an access domain. The access node includes a user domain input unit, a service binding unit, a bridging unit, a controlling unit and an access domain output unit. More particularly, the user domain input unit receives data traffic from a first user domain, the received data traffic being destined to a second user domain. The service binding unit stores service bindings related information. Each service binding rules data traffic between one of multiple user domains and an access edge node by committing the access node and the access edge node in a manner of managing data traffic therebetween over the access domain. The bridging unit tunnels the received data traffic in a Unicast message addressed to the access edge node in accordance with a service binding corresponding to the received data traffic. The controlling unit performs the identification of the corresponding service binding, and forwards the received data traffic to the bridging unit for tunnelling with an indication of the corresponding service binding. As for the access domain output unit, it receives from the bridging unit the tunnelled data traffic and forwards the tunnelled data traffic over the access domain.
For a more detailed understanding of the invention, for further objects and advantages thereof, reference can now be made to the following description, taken in conjunction with the accompanying drawings, in which:
a is an exemplary tabular representation of the content of a service agent's management and control unit in accordance with the present invention;
b is an exemplary tabular representation of the content of a service bindings hosting unit in accordance with the teachings of the present invention;
The innovative teachings of the present invention will be described with particular reference to various exemplary embodiments. However, it should be understood that this class of embodiments provides only a few examples of the many advantageous uses of the innovative teachings of the invention. In general, statements made in the specification of the present application do not necessarily limit any of the various claimed aspects of the present invention. Moreover, some statements may apply to some inventive features but not to others. In the drawings, like or similar elements are designated with identical reference numerals throughout the several views.
The present invention provides a method and nodes for performing bridging of data traffic over an access domain. Access domains, as known in the art, are composed of a multitude of switches, which task is to switch data traffic to its destination. The data traffic that is carried on the access domain originates from user domains and service provider domains. With the increasing interest of applications like the World Wide Web, the number of user domains and service provider domains forwarding and receiving data traffic being carried on access domains is exploding. To be able to properly switch the data traffic, each of the switches has to acquire some knowledge by performing a process known and called Media Access Control (MAC) learning, by which each switch learns on which port a MAC address is reachable to send data traffic to the right port rather than sending it on all ports. But with the exploding number of user domains and service provider domains exchanging data traffic over access domains, the table in the switches are also becoming quite voluminous. Another problem also resides in the performing of accounting function on the traffic over networks such as in the present invention. It is thus important to find ways to reduce the number of MAC addresses learnt by the switches. It is also becoming necessary to provide a simple method to stream data traffic between two user domains. For doing so, the present invention introduces an access edge node in the access domain. Furthermore, the present invention uses service bindings between the access nodes and the access edge node so as to stream data traffic therebetween over the access domain. Finally, the present invention performs bridging of data traffic between two user domains using the access edge node, and service bindings between the serving access nodes and the access edge node.
To understand the present invention and its inventive mechanisms, reference is now made to
The network 200 corresponds to one or multiple data networks communicating together. Thus, the network 200 could be operated by one or multiple operators. As data networks are usually supported by a number of different operational entities and/or organizations, it is necessary to define how those entities and organizations can successfully communicate. For this reason, data networks are usually explained and detailed using the Open System Interconnection (OSI) model. The OSI model defines a networking framework for implementing protocols in seven layers. Those seven layers are in the respective order: 1) Physical layer; 2) Data Link Layer; 3) Network Layer; 4) Transport Layer; 5) Session Layer; 6) Presentation Layer and 7) Application Layer. Each layer corresponds to an aspect to be considered and actions to be undertaken when performing data transmission over a data network. Using the OSI model to describe the network 200 of the present invention, it is possible to layer some of the various protocols used and/or supported by the network 200 of the present invention as follows:
Turning now to the access domain 115, it is possible to summarize its function as a means to provide end-to-end access between the user domains 110 and the network service providers 140 and application service providers 150. The access domain includes the access nodes 120, the access network 130, the regional network 135 and the access edge node 160. Thus, the access domain 115 is not an entity per se; it is rather an aggregation of components, which when interconnected together either directly or indirectly, acts as a domain for providing access, hence its name “access domain”. It should also be clear that the current representation of the access domain 115 including only one access node 120, one access network 130, one access edge node 160 and one regional network 135 does not mean that such entities are found single in the access domain, but rather that for sake of clarity only one such entity is represented. The following paragraphs explain in greater details the various components of the access domain.
The access nodes 120, which also include access gateways (not shown), represent the first component of the access domain 115. The access nodes 120 typically refer to access providers, which allow user domains 110 accesses to the access network 130, upon, for example, subscription or pay-per-usage basis. Such access can be made possible using various mediums and technologies. Amongst the possible mediums are cable, landline phone, and wireless phone. As to the possible technologies, Integrated Services Digital Network (ISDN) and Asymmetric Digital Subscriber Line (ADSL), Worldwide Interoperability for Microwave Access (WiMax) are examples of possible technologies. However, it should be noted that the present invention is not limited to those mediums or technologies. Also, even though only three access nodes have been depicted, it should be noted that the network 200 potentially includes hundreds or thousands of access nodes.
The access domain also includes the access network 130 and the regional network 135 which will be discussed together. The primary function of the access network 130 and the regional network 135 is to provide end-to-end, and independent transport between the access nodes 120 and the network service providers 140 and the application service providers 150. The access network 130 and regional network 135 are networks capable of tasks such as: aggregation, switching and routing downstream and upstream data traffic. The access network 130 is preferably capable of using Ethernet, or other similar protocols, which correspond to the Layer 2 of the OSI model, but is not limited thereto. It could advantageously be capable of supporting IPv4 and/or IPv6. The regional network 135 preferably supports Ethernet and/or IP and MPLS, and possibly other Layer 3 capable protocols. Furthermore, it should be noted that the access network 130 and the regional network 135 could be operated and/or managed by a single operator or by many different operators. Both the access network 130 and the regional network 135 are composed of multiple switches (not shown) which handle switching data traffic there through.
It is through a tight coupling of their traffic-engineering capabilities through the access edge node 160, that the access network 130 and the regional network 135 can provide end-to-end Quality of Service (QoS). The access edge node's role 160 is the creation, management and hosting of service agents 170 and service bindings (not shown in
Turning now to the user domains 110, the latter rely on the access domain 115 for providing an entry point into the access domain 115. In the context of the present invention, the expression “user domains” alternatively refers to independent computers, local networks of computers connected through a router either physically or wirelessly, wireless phones, Personal Digital Assistants (PDAs), and all other devices that are capable of data communication over a data network such as network 200. Additionally, the expression “user domain” is intended to also include multiple simultaneous data traffic sessions performed with a multitude of devices, through one single user port. For example, a user could concurrently access different applications and network services such as Internet access, video conferencing, and television programs with one or multiple devices through a user domain located VLAN, or one single user port referred to herein as “user domain”.
The network service providers 140 refer for example to entities that use the access domain 115 to provide IP addressing and connectivity to another IP network, and to offer and deliver specific application. In the context of data traffic with the user domains 110, the network service providers 140 typically own and assign IP addresses to the user domains 110, using identification based on for example Remote Authentication Dial-In User Service (RADIUS). The network service providers 140 may further perform user-level authentication and authorization if desired and/or necessary.
The application service providers 150 use the access domain 115 to offer and deliver application(s) to end-users of the user domains 110. Examples of such applications include gaming, video on demand, videoconferencing, and many other possible applications. It is however the access domain 115 that assigns IP addresses on behalf of the applications service providers to the user domains 110. If desired, the application service providers 150 can also perform authentication at the user-level and authorization if necessary. It should be noted that in the foregoing description, the expression “service providers” and “service providers domains” will be alternatively used to represent concurrently both network service providers 140 and application service providers 150, and the expression “service provider” represents one of the network service providers 140 or application service providers 150.
As previously mentioned, a service binding relates to a transport relationship. In the context of the present invention, that transport relationship is established between two user domains, and directly impacts the serving access nodes 120 and the access edge node 160. Conceptually speaking, the creation of a service binding corresponds to adding the identified user domains to the VLAN corresponding to the serving agent over the access domain. Thus, each service binding may represent a tradable business entity, which guarantees delivery of the corresponding service. Service bindings are created, managed and hosted in the access edge node, and exist in combination with the service agents 170. Service bindings are also hosted in the access nodes for which they rule data traffic.
Since the service agents and service bindings are created, managed and hosted in the access edge node, reference is now made concurrently to
The service agent unit 340 is composed of a service agents' management and control unit 342 and a service bindings hosting unit 344. The service agent unit 340 keeps existing service agents' 170 information in the service agents' management and control unit 342. The service agents' management and control unit 342 in turn is responsible for the creation and management of the service bindings 346. For doing so, the service agents management and control unit 342 determines when new service bindings 346 are required or an existing service binding can be removed, and proceeds with the creation/removal of service binding 346. The service agents' management and control unit 342 is also responsible for the adding/removal of user devices to existing service bindings. Furthermore, the service agents management and control unit 342 is responsible for ensuring synchronicity of service bindings 346 related information with access nodes with which it is interacting.
Reference to
Reference is now made to
The combination of the input port and VLAN information thus represents a simple and reliable way of quickly relating incoming data traffic to the proper service binding. Other combinations of information could also be used to reliably match incoming data traffic with a corresponding service binding. For example, in accordance with a first embodiment of the present invention, the user domain to user domain bridging of the present invention may consist of a port level bridging. As previously briefly described, port level bridging consists of bridging the data traffic between a port of a first access node to a port of a second access node, without touching other fields of the Ethernet message, such as the VLAN Tag field. In accordance with a second embodiment of the present invention, the user domain to user domain bridging of the present invention consists of a subnet level bridging. For doing so, the data traffic between the first user domain and the second user domain is bridged using the input port information of the first access node and corresponding to a first VLAN, and input port information of the second access node and its corresponding second VLAN. Typically, once the service binding has been created and the access node has been informed thereof, data traffic therebetween can be performed over the access domain in accordance with the service binding.
More particularly, in the case of the present invention, where the service agent corresponds to providing a user domain to user domain streaming of data traffic, the service binding 346 hosted in the service bindings hosting unit 344 alternatively provides necessary information of a first and a second user domains. Therefor, as shown in the row corresponding to the service agent identifier SA2, the service type corresponds to the user domain to user domain streaming, the User MAC info includes a MAC address of the first user domain and another MAC address corresponding to the second user domain. The fields corresponding to the user port information, the local network context and serving access node MAC address also provide related information for both the first and second user domains. Alternatively, in accordance with another embodiment of the present invention, the user MAC addresses could be replaced by input/output port identifications of the access domain input/output unit, and the local network contexts could correspond to VLAN information.
Returning now to the description of
If needed, the controlling unit 330 may optionally interact with the translation table 350. Since each service agent 170 of the service agents' management and control unit is uniquely identified by a service agent identifier, it is necessary to keep in the translation table a mapping between the service agent identifier corresponding to service agents 170 and corresponding service provider domains (140 or 150), when applicable. Thus, upon receipt of data traffic at the access domain input/output unit 310 having a destination address corresponding to a virtual MAC address for the access edge node 160, the controlling unit 330 consults the translation table 350 to obtain a fast translation of the access edge node virtual MAC address to the destination service provider domain (140 or 150) address. In the context of the present invention, a virtual MAC address is a representation of the physical address of the node and related port information of the corresponding input/output unit.
The controlling unit 330 further consults with the forwarding unit 360, to determine whether received data traffic at the access domain input/output unit 310 is to be directly forwarded to the service provider domains input/output unit without any modification.
Finally, the controlling unit 330 can also interact with a regulating unit 370, which can perform, on received data traffic at either the access domain input/output unit 310 and the network/application service providers domain input/output unit 320, downstream/upstream traffic policing and marking, traffic remarking, as indicated and/or required by corresponding service agents 170.
Reference is now made to
The access node 120 also includes a service binding unit 540 for hosting service bindings' related information. Service bindings related information contains specific service binding information (in the form of service agent identity and service type), identification on a port of the access node to communicate with the user domain, and local network context of the user domain. The service binding unit 540 only stores service bindings' related information for service bindings implicating the access node. Thus service binding units 540 in different access nodes 120 store different information. The service bindings' related information includes some or all of the following: service agent identifier, user port on the user domain input/output unit 510, and local context information of the user domain.
The access node 120 further includes a controlling unit 530. The controlling unit evaluates the data traffic 710a received at the user domain input/output unit 510 so as to determine required course of action. For doing so, the controlling unit 530 consults the service binding unit 540 to determine whether a service binding corresponds to the received data traffic 710a. In the event that the received data traffic corresponds to a service binding for performing user domain to user domain data traffic bridging, the controlling unit 530 forwards the received data traffic 710a to a bridging unit 550. The bridging unit 550 performs the necessary modification to the data traffic to prepare the received data traffic for perform forwarding over the access domain. More particularly, the bridging unit 550 puts the received data traffic 710 within a user data field of an Ethernet Unicast message, also called tunnelling throughout the present application. The bridging unit 550 further assigns a destination address to the Ethernet Unicast message corresponding to a virtual MAC address of the access edge node. The bridging unit 550 also assigns a source address to the Ethernet Unicast message corresponding to a virtual MAC address of the access node 120. Finally, the bridging unit may further assign a value corresponding to the port of the access domain input/output unit 520 to a VLAN Tag field of the Ethernet Unicast message.
In the present invention, the data traffic is bridged over the access domain by means of tunnelling the data traffic in a Unicast message at the access node acting as entry point of the access domain for the sending user domain. The Unicast message is sent to the access edge node, where it is redirected to the access node serving the second user domain, which is the intended recipient of the data traffic. It is thus necessary that the access node serving the recipient user domain has necessary capabilities for detunnelling the received data traffic which corresponds to tunnelled data traffic. For doing so, the controlling unit 530 further determines when the received data traffic consists of tunnelled data traffic, and proceeds with detunnelling the data traffic and forwarding to the recipient user domain through the user domain input/output unit 510.
Reference is now made to
Reference is now made to
To facilitate the management of VLAN information, an alternative that could be used is the attribution of VLAN values to access node port identification. For example, for port 0 of the access node, a VLAN value of 455 could be used, for port 1 a VLAN value of 456, and on.
As can be appreciated, the modifications to the data traffic so as to perform bridging over the access domain are visible only to the access node 120, access network 130 and the access edge node 160. The modifications to the data traffic are transparent to the user devices 110. The modifications are possible because of the service bindings created by the access edge node 160, and enforced at both the access node 120 and the access edge node 160. The service bindings stored at both the access node and the access edge node store the information required to perform the modifications to the data traffic so as to allow bridging.
Although several preferred embodiments of the method and nodes of the present invention have been illustrated in the accompanying Drawings and described in the foregoing Detailed Description, it will be understood that the invention is not limited to the embodiments and protocols disclosed, but is capable of numerous rearrangements, modifications and substitutions without departing from the spirit of the invention as set forth and defined by the following claims.
This non-provisional patent application claims priority based upon the prior U.S. provisional patent applications entitled “Poly project” and “Access node-edge node complex protocol (AEP)”, having respective application No. 60/651,971, filed Feb. 14, 2005, in the names of Sylvain Monette, Mathieu Giguere, Martin Julien and Benoit Tremblay, and application No. 60/674,307, filed Apr. 25, 2005 in the names of Sylvain Monette, Mathieu Giguere, Martin Julien and Benoit Tremblay.
Number | Name | Date | Kind |
---|---|---|---|
6049531 | Roy | Apr 2000 | A |
6151324 | Belser et al. | Nov 2000 | A |
6157648 | Voit et al. | Dec 2000 | A |
6269404 | Hart et al. | Jul 2001 | B1 |
6310862 | Roy | Oct 2001 | B1 |
6522627 | Mauger | Feb 2003 | B1 |
6693878 | Daruwalla et al. | Feb 2004 | B1 |
6988146 | Magret et al. | Jan 2006 | B1 |
7027400 | O'Neill | Apr 2006 | B2 |
7058022 | Carolan et al. | Jun 2006 | B1 |
7076540 | Kurose et al. | Jul 2006 | B2 |
7127511 | Tonouchi | Oct 2006 | B2 |
7197008 | Shabtay et al. | Mar 2007 | B1 |
7209945 | Hicks et al. | Apr 2007 | B2 |
7305704 | Ofek et al. | Dec 2007 | B2 |
7447203 | Chen et al. | Nov 2008 | B2 |
7463639 | Rekhter | Dec 2008 | B1 |
7496652 | Pezzutti | Feb 2009 | B2 |
7536460 | Anschutz et al. | May 2009 | B2 |
7660253 | Monette et al. | Feb 2010 | B2 |
20010053694 | Igarashi et al. | Dec 2001 | A1 |
20020013848 | Rene Salle | Jan 2002 | A1 |
20020026503 | Bendinelli et al. | Feb 2002 | A1 |
20020027596 | Roy | Mar 2002 | A1 |
20020035641 | Kurose et al. | Mar 2002 | A1 |
20020056008 | Keane et al. | May 2002 | A1 |
20020080804 | Ando et al. | Jun 2002 | A1 |
20020110087 | Zelig et al. | Aug 2002 | A1 |
20020120749 | Widegren et al. | Aug 2002 | A1 |
20020147828 | Chen et al. | Oct 2002 | A1 |
20020191250 | Graves et al. | Dec 2002 | A1 |
20020199104 | Kakemizu et al. | Dec 2002 | A1 |
20030053450 | Kubota et al. | Mar 2003 | A1 |
20030154259 | Lamberton et al. | Aug 2003 | A1 |
20030204642 | Sanders et al. | Oct 2003 | A1 |
20040044789 | Angel et al. | Mar 2004 | A1 |
20040047322 | O'Neill | Mar 2004 | A1 |
20040085968 | Chen et al. | May 2004 | A1 |
20040098531 | Hagg et al. | May 2004 | A1 |
20040105440 | Strachan et al. | Jun 2004 | A1 |
20040136387 | Rothenhofer | Jul 2004 | A1 |
20040165600 | Lee | Aug 2004 | A1 |
20040213224 | Goudreau | Oct 2004 | A1 |
20040228356 | Adamczyk et al. | Nov 2004 | A1 |
20040261116 | Mckeown et al. | Dec 2004 | A1 |
20040264405 | MacGregor Scobbie | Dec 2004 | A1 |
20050013297 | Eriksson | Jan 2005 | A1 |
20050027782 | Jalan et al. | Feb 2005 | A1 |
20050068933 | Kokkonen et al. | Mar 2005 | A1 |
20050086495 | Sheth et al. | Apr 2005 | A1 |
20050138369 | Lebovitz et al. | Jun 2005 | A1 |
20050152271 | Rindborg et al. | Jul 2005 | A1 |
20050152370 | Meehan et al. | Jul 2005 | A1 |
20050157645 | Rabie et al. | Jul 2005 | A1 |
20050185633 | Shigei | Aug 2005 | A1 |
20050190775 | Tonnby et al. | Sep 2005 | A1 |
20050257039 | Marshall | Nov 2005 | A1 |
20050265309 | Parandekar | Dec 2005 | A1 |
20060120386 | Rossi et al. | Jun 2006 | A1 |
20060143702 | Hisada et al. | Jun 2006 | A1 |
20060182123 | Monette et al. | Aug 2006 | A1 |
20060184645 | Monette et al. | Aug 2006 | A1 |
20060184694 | Monette et al. | Aug 2006 | A1 |
20060184695 | Monette et al. | Aug 2006 | A1 |
20060245435 | Sajassi | Nov 2006 | A1 |
20060251055 | Monette et al. | Nov 2006 | A1 |
20070101377 | Six et al. | May 2007 | A1 |
20080101343 | Monette et al. | May 2008 | A1 |
20080120714 | Monette et al. | May 2008 | A1 |
20090010265 | Vishnubhotla et al. | Jan 2009 | A1 |
Number | Date | Country |
---|---|---|
WO 03092226 | Nov 2003 | WO |
Number | Date | Country | |
---|---|---|---|
20060184645 A1 | Aug 2006 | US |
Number | Date | Country | |
---|---|---|---|
60651971 | Feb 2005 | US | |
60674307 | Apr 2005 | US |