The present disclosure relates generally to facilitating the design and assignment of Ethernet VLANs and in particular, to a method of designing new VLANs and adding access ports to existing VLANs.
Computer networks carry data between various devices. The data may be carried in connection-based links, such as the virtual circuits in an Asynchronous Transfer Mode (ATM) network. Data may also be carried between devices in network segments where data is broadcast to all of a plurality of devices on the segment via a broadcast-type medium. An example of the latter is an Ethernet network. It is typically convenient to set up local area networks (LANs) using a broadcast type medium over which devices can share data.
In some circumstances, for example, where a LAN is required to connect devices that are geographically distant from one another, the LAN may be broken into separate segments. Within each segment, devices (e.g., switches) can exchange data by way of a broadcast-type medium. The segments may be connected to one another by way of connection-based links such as physical transport lines. Such a LAN may be referred to as a virtual LAN (VLAN). A VLAN may be thought of as a logical web of connections over physical transports.
Metro-Ethernet networks are based on VLANs within the Ethernet network of a given metropolitan area. In order to provide this service to a customer, a service provider must design and assign a virtual network within the physical network for the customer. The VLAN creator is typically supplied with a VLAN name, a class of service (COS) for the VLAN and a certain number of access ports on the service provider Ethernet switches with the bandwidth (BW) required for each port. After the initial creation of the VLAN, access ports may be added or removed from the VLAN. Currently, the design of the VLAN and the assignment of access ports is performed manually with expert technicians attempting to take many constraints into consideration (e.g., BW required for each port, COS, layout of switches, layout of trunks, no loops allowed in VLAN, topology of VLAN). As VLANs become larger and more complex it becomes difficult and time consuming for technicians to manually design and assign VLANs.
An exemplary embodiment is a computer implemented method for facilitating creation of virtual local area networks (VLANs). The method includes: receiving a VLAN name, a class of service and two or more access ports; determining switches and trunks associated with the access ports; searching a VLAN database for the VLAN; and creating a VLAN if said searching does not result in locating the VLAN. The creating includes: selecting a starting access port from the two or more access ports; mapping a base path from the starting access port to another of the access ports, wherein the base path includes one or more of the switches and one or more of the trunks; and adding the base path to the VLAN including the starting access port and said another of the access ports.
A further exemplary embodiment includes a system for facilitating creation of VLANs. The system includes a computer memory and a processor in communication with the computer memory. The processor includes an instruction fetching element for fetching instructions from memory and one or more execution elements for executing fetched instructions to perform a method. The method includes: receiving a VLAN name, a class of service and two or more access ports; determining switches and trunks associated with the access ports; searching a VLAN database for the VLAN; and creating a VLAN if said searching does not result in locating the VLAN. The creating a VLAN includes: selecting a starting access port from the two or more access ports; mapping a base path from the starting access port to another of the access ports, wherein the base path includes one or more of the switches and one or more of the trunks; and adding the base path to the VLAN including the starting access port and said another of the access ports.
A further exemplary embodiment is a computer-readable storage medium having computer-executable instructions for facilitating creation of VLANs. The computer-executable instructions when executed by a computer processor cause the computer processor to perform a method. The method includes: receiving a VLAN name, a class of service and two or more access ports; determining switches and trunks associated with the access ports; searching a VLAN database for the VLAN; and creating a VLAN if said searching does not result in locating the VLAN. The creating a VLAN includes: selecting a starting access port from the two or more access ports; mapping a base path from the starting access port to another of the access ports, wherein the base path includes one or more of the switches and one or more of the trunks; and adding the base path to the VLAN including the starting access port and said another of the access ports.
Other systems, methods and/or computer program products according to embodiments will be or become apparent to one with skill in the art upon review of the following drawings and detailed description. It is intended that all such additional systems, methods, and/or computer program products be within the scope of the present invention, and be protected by the accompanying claims.
Referring to the exemplary drawings wherein like elements are numbered alike in the several FIGURES:
Embodiments of the present invention facilitate the design and assignment functions for creating new VLANs and adding access ports to existing VLANs. Trunks, or physical transport lines, connecting the switches containing access ports in a VLAN are selected by taking a number of assumptions and constraints into account. The service provider Ethernet topology (e.g., the layout of switches and trunks that connect them together) is one such constraint. The Ethernet network may be of any topological configuration such as hub and spoke, mesh or hybrid. A given VLAN instance on the network is assumed to be of a tree structure. This means that there are not any loops in the VLAN configuration (i.e., there can never be two different paths between any two points in the VLAN). A consequence of not having loops in the VLAN configuration is that for any given trunk in the VLAN, all access ports in the VLAN are divided into two non-overlapping sets. This in turn allows capacity management to be based on a least contribution algorithm. In addition, as new access ports are added to a VLAN, the tree structure is assured by the system by never allowing any new path added to continue beyond the first point of contact with the existing VLAN. Exemplary embodiments of the present invention receive a VLAN name, a COS and two or more access ports to be connected into the VLAN. If the VLAN does not currently exist, the first two ports are connected with a least cost path between them to form the base VLAN. Once a VLAN exists, access ports are connected into the VLAN with a least cost path to other access ports in the VLAN. The cost of a path may be determined by adding the cost of each trunk in the path.
Exemplary embodiments of the present invention calculate hub values and total hub values. The hub values are associated with each switch in the VLAN. The total hub value is the sum of the hub values for all the switches in the VLAN. The total hub value is calculated by exemplary embodiments of the present invention whenever more than one path is possible from a new access port into the VLAN. By minimizing this value, the VLAN is kept efficient and traffic transport is economized.
Exemplary embodiments of the present invention operate in the context of an operating support system (OSS) that manages metro-Ethernet services. The OSS system may provide the context of network intelligence and capacity tracking counters and control parameters that govern the logic of the design and assign algorithm. In exemplary embodiments of the present invention, the OSS has a database of network elements and trunks connecting them so that it can determine all of the network elements connected to any given network element. In addition, the OSS has a database of existing VLANs such that the VLAN names are unique across the region and each existing VLAN has an accessible list of network elements already in the connection paths of that VLAN. In addition, the OSS will provide capacity numbers to exemplary embodiments of the present invention to determine if there is enough available bandwidth on the trunk to add an access port with a specified bandwidth requirement and enough capacity on the switch to add another access port.
The network 106 may be any type of known network including, but not limited to, a wide area network (WAN), a local area network (LAN), a global network (e.g. Internet), a virtual private network (VPN), and an intranet. The network 106 may be implemented using a wireless network or any kind of physical network implementation known in the art. A user system 102 may be coupled to the host system 104 through multiple networks (e.g., intranet and LAN) so that not all user systems 102 are coupled to the host system 104 through the same network. One or more of the user systems 102 and the host system 104 may be connected to the network 106 in a wireless fashion.
The storage device 108 depicted in
The host system 104 depicted in
The host system 104 may also operate as an application server. The host system 104 executes one or more computer programs to facilitate the design and assignment of an Ethernet VLAN. One or more application programs within the host system 104 share information to support the design and assignment process. The processing of the design and assignment application may be shared by a user system 102 and the host system 104 by providing an application (e.g., a java applet) to the user system 102. As previously described, it is understood that separate servers may be utilized to implement the network server functions and the application server functions. Alternatively, the network server, the firewall, and the application server may be implemented by a single server executing computer programs to perform the requisite functions.
Next, starting at step 210, a loop is performed to add each new access port received at step 202 to the existing VLAN. At step 210, a list of the possible physical paths from the new access port to a switch in the VLAN is created. The list only contains those physical transport lines and switches that contain capacity for the new access port. The capacity may be verified against data from an operational support system for tracking capacity. Next, at step 212, it is determined if there is more than one physical path from the new access port to a switch contained in the VLAN. If there is more than one physical path, then step 214 is performed to calculate the total hub value associated with each of these physical paths. At step 216, the path resulting in the lowest total hub value is selected. The new access port is connected to the VLAN via the selected path at step 218. In addition, the BW contribution is calculated and capacity is checked. If more access ports remain to be connected into the VLAN, as determined at step 220, then the process of adding an access port, starting at step 210 is repeated. If there are no more access ports to connect into the VLAN, as determined at step 220, then the processing is complete. When the design and assignment of the VLAN has been completed, the design may be transmitted to an operational support system to implement the design. Implementing may include provisioning the VLAN and making it available to the customer.
In the following example, a simplified Ethernet VLAN is created using exemplary embodiments of the present invention. The example is simplified to show how exemplary embodiments of the present invention may operate, however, a typical Ethernet VLAN may include twenty or more access ports.
In this example, it is assumed that that VLAN is new and that the input data includes a the VLAN name “Sample”, a COS (e.g., Best Effort, Committed BW, Priority Plus) and four access ports: access port “a” 402 located at switch A 302 with a 100 Megabyte (M) bandwidth; access port “b” 404 located at switch B 304 with a 100 M bandwidth; access port “d” 408 located at switch D 308 with a 100 M bandwidth; access port “g” 410 located at switch G 310 with a 100 M bandwidth. A starting access port, access port “g” 410 is selected at random (see step 206 in
Now, each of the other access ports is connected into the Sample VLAN (see step 210 in
Similarly, the total hub value associated with connecting switch A 302 to switch C 306 (AC) may be calculated as follows:
Therefore, because it results in a lower total hub value, the path from switch A 302 to switch C 306 (AC) is selected for access port “a” 402. This path is then added to the VLAN (see step 218 in
One more access port remains to be connected to the Sample VLAN (see step 220 in
Similarly, the total hub value associated with connecting switch B 304 to switch C 306 (BC) maybe calculated as follows:
Therefore, because it results in a lower total hub value, the path from switch B 304 to switch C 306 (BC) is selected for access port “b” 404. This path is then added to the VLAN (see step 218 in
Other exemplary embodiments of the present invention include receiving a switch that is designated as the hub switch as part of the input to the process depicted in
Other alternate exemplary embodiments may reflect different costs associated with each hop, or trunk, between switches. These may be factored into the determination of the paths utilized by a VLAN, resulting in selection of least cost paths rather than shortest paths. Different costs may be assigned to trunks to encourage the use of new technology that may be less expensive or conversely to recoup the additional costs that may be associated with a higher cost connection. Alternatively, costs may be increased on old technology that the service provider is attempting to phase out. The way that the costs are assigned to hops may be utilized to encourage the use of particular transport lines and to discourage the use of other transport lines.
Exemplary embodiments of the present invention allow the design and assignment of VLANs to be performed while taking into account a variety of factors including the BW required for each port, the requested COS, the layout of switches and trunks, the requirement for no loops in the VLAN, and the current topology of VLAN. This may lead to better VLAN designs and to more efficient utilization of the underlying trunks and switches. In addition, utilizing exemplary embodiments of the present invention may result in cost savings due to less expert technician time being required to design and assign VLANs.
As described above, the embodiments of the present invention may be embodied in the form of computer-implemented processes and apparatuses for practicing those processes. Embodiments of the present invention may also be embodied in the form of computer program code containing instructions embodied in tangible media, such as floppy diskettes, CD-ROMs, hard drives, or any other computer-readable storage medium, wherein, when the computer program code is loaded into and executed by a computer, the computer becomes an apparatus for practicing the invention. Exemplary embodiments of the present invention can also be embodied in the form of computer program code, for example, whether stored in a storage medium, loaded into and/or executed by a computer, or transmitted over some transmission medium, such as over electrical wiring or cabling, through fiber optics, or via electromagnetic radiation, wherein, when the computer program code is loaded into and executed by a computer, the computer becomes an apparatus for practicing the invention. When implemented on a general-purpose microprocessor, the computer program code segments configure the microprocessor to create specific logic circuits.
While the invention has been described with reference to exemplary embodiments, it will be understood by those skilled in the art that various changes may be made and equivalents maybe substituted for elements thereof without departing from the scope of the invention. In addition, many modifications may be made to adapt a particular situation or material to the teachings of the invention without departing from the essential scope thereof. Therefore, it is intended that the invention not be limited to the particular embodiments disclosed for carrying out this invention, but that the invention will include all embodiments falling within the scope of the appended claims. Moreover, the use of the terms first, second, etc. do not denote any order or importance, but rather the terms first, second, etc. are used to distinguish one element from another.
This application is a continuation of U.S. patent application Ser. No. 10/666,069 filed Sep. 19, 2003, the contents of which are incorporated herein by reference in their entirety.
Number | Date | Country | |
---|---|---|---|
Parent | 10666069 | Sep 2003 | US |
Child | 12606236 | US |