Embodiments of the present invention generally relate to devices, systems, and methods for generating and mapping persistent communication network paths between customer premise equipment and communication network resources.
Communications network providers establish communication links between customer premise equipment and network resources. For example, the service provider configures and couples routing elements to generate a communication link and extend network services to customer premise equipment. A network service path defines the order or manner in which devices are mapped in the communication link from the customer premise equipment to network elements of a telecommunications network.
A method of determining persistent service paths between provider edge devices and customer edge devices may include: identifying, by at least one processor of a device, a service identifier associated with a service provided by a communication network; identifying, by the at least one processor, based on the service identifier and traffic data of the communication network, one or more first adjacencies between provider edge devices, of the communication network, using a service indicated by the service identifier; identifying, by the at least one processor, based on the service identifier and traffic data of the communication network, one or more second adjacencies between the provider edge devices and customer edge devices using the service; and mapping, by the at least one processor, based on the one or more first adjacencies and the one or more second adjacencies, a persistent service path between a customer edge device of the customer edge devices and a provider edge device of the provider edge devices.
A device for determining persistent service paths between provider edge devices and customer edge devices, the device comprising memory coupled to at least one processor to: identify a service identifier associated with a service provided by a communication network; identify, based on the service identifier and traffic data of the communication network, one or more first adjacencies between provider edge devices, of the communication network, using a service indicated by the service identifier; identify, based on the service identifier and traffic data of the communication network, one or more second adjacencies between the provider edge devices and customer edge devices using the service; and map, based on the one or more first adjacencies and the one or more second adjacencies, a persistent service path between a customer edge device of the customer edge devices and a provider edge device of the provider edge devices.
A system for determining persistent service paths between provider edge devices and customer edge devices may include: the provider edge devices; the customer edge devices; and memory coupled to at least one processor, the at least one processor configured to: identify a service identifier associated with a service provided by a communication network; identify, based on the service identifier and traffic data of the communication network, one or more first adjacencies between the provider edge devices, wherein the provider edges use a service indicated by the service identifier; identify, based on the service identifier and traffic data of the communication network, one or more second adjacencies between the provider edge devices and customer edge devices, wherein the customer edge devices use the service; and map, based on the one or more first adjacencies and the one or more second adjacencies, a persistent service path between a customer edge device of the customer edge devices and a provider edge device of the provider edge devices.
Aspects of the present disclosure involve devices, systems, methods, and the like, for generating and mapping persistent communication network paths between customer premise equipment and communication network resources.
Conventionally, network service path mapping requires service providers to maintain an inventory of network devices and, more specifically, interfaces of the network devices. Each interface within the inventory is generally assigned an interface description field and corresponding interface attributes. The use of such inventories is limited in various ways. For example, equipment vendors often limit the size and/or format of interface description fields. Moreover, reliable determination of network service paths depends on the accuracy of the inventory and, as a result, whether network operators consistently and accurately update the inventory. Over time, inaccuracies can arise in the inventory, leading to inaccurate or incomplete network service path determinations. For example, basic human error during data input into the inventory and failure to properly report migration or modification of network equipment (e.g., during system upgrades or in response to outages or equipment failures) can lead to an inaccurate or incomplete inventory. Any subsequent network path determinations based on such a flawed inventory can similarly be inaccurate or incomplete.
In contrast to relying on an inventory, enhanced network service path mapping may rely on actual network traffic. Network service paths may use device address tables with data from network elements, such as medium access control (MAC) layer addresses, to determine which network elements, if any, have interacted with an endpoint device and, as a result, potentially form a part of a network service path associated with the endpoint device. In particular, the database is queried to determine whether the device identifier or attribute has been logged within any of the aggregated network traffic tables. Where the device identifier is logged within network traffic data associated with a certain network element, the network element may be identified as forming a part of the network service path. In this manner, network paths may be built using run-time stitching logic.
However, such use of MAC address tables with run-time stitching logic may apply to a subset of layer-two services, but not others. For example, a MAC address table may be limited to the devices corresponding to the MAC addresses in the table (e.g., limited to what the address table has), and therefore may not be as complete and accurate for establishing a persistent network path as the techniques described herein.
In addition, a service status may occur as a request-driven activity that may launch a sequence of collections, which may lead to a service status. In this manner, a service status may be reactive.
There is therefore a need for a persistent network path that can be used for all layer-two and layer-three services and for event-driven diagnostics.
In one or more embodiments, a communications system may associate a customer service (e.g., ordering) tot an end-to-end network representation in a database for instance access. For example, a persistent path may be based on a service identifier (e.g., edge devices using traffic for a service indicated by the service identifier). Other systems may incur a significant delay in providing a network path because they may compute the path at run-time. In addition, other systems may use a “design” system rather than the actual network data, and therefore may be less accurate than the enhanced systems and methods herein. The enhanced persistent path herein may enable an ability to overlay events (e.g., fault/performance) for near real-time diagnostics, providing a significant improvement over existing techniques.
In one or more embodiments, the enhanced persistent path herein may use network-based adjacency relationships that may be stitched together to generate an end state of provider edge (PE) to customer edge (CE). The individual adjacencies that may be discovered may include, for various interfaces and protocols, including but not limited to, pe_to_mc (provider edge to metro core—metro core referring to a top-tier Ethernet aggregator, for example, which may be high-density, high-performance switches that may aggregate and distribute high volumes of customer traffic, and which may be connected to PE routers to allow traffic to traverse between markets or to the public Internet; and a provider edge referring to where customer services are built at a carrier facility, such as Layer-3 Internet and Layer-3 IP VPN services created on a PE router), mc_to_mc, mc_to_me (me referring to metro edge switch, such as part of a ring architecture which delivers services to a building where customers may be located, for example; metro edge Ethernet switches may be placed in buildings where customer service physical connections may be created as such switches are lower density devices that may operate in a ring configuration to allow a lower cost delivery of services), mc_to_ma (ma referring to metro aggregation, such as a second-tier Ethernet aggregator, which may be integrated as switches into a high-density metro core to allow connectivity of some services), mo_to_nid (e.g., metro off-network to network interface device), ma_to_me, and pe_to_mcpe (mcpe referring to managed customer premise equipment; some customers may use their own CPE typically having a single access port to the carrier Ethernet network and a single port to the customer's network infrastructure, or direct connections to the customer's network devices such as servers, PCs, workstations, etc.). A metro hub may play a similar role to a metro core, allowing an extension of rings to other parts of a market. Metro hubs may connect to metro cores facing a carrier's network and toward rings facing a customer.
In one or more embodiments, a cluster environment may be generated based on the adjacencies, and non-cluster members (e.g., false positives) may be removed. For example, clusters could include adjacencies for a particular network device (e.g., a service router, etc.). The network may guess which service point is next in the path, and may not be dependent on network inventory itself. The MAC addresses of the devices may not be needed to provide device ordering. Diagnostics may lay over a network path, but the path takes time to establish. The enhancements herein reduce the bottleneck and provide an improved network path estimate.
In one or more embodiments, the mo_to_nid adjacency may use a MAC address association from moSp:VLAN505 to find the presence of nidWANMAC (e.g., a MAC address of a wide area network of the nid). The mc_to_ma may refer to using a discovery protocol. mc_to_me may refer to using a rep (resilient Ethernet protocol). pe_to_mc may refer to using couplets (e.g., using interface naming standards where peSp maps to msSp through a common format). mc_to_mc may refer to a bridge domain. A metro hub (mh) adjacency may be used. Route-targets (rt) may be used to identify cluster members. Metro segment-routing and pseudo-wires may be used to identify adjacencies. For some hybrid networks, link layer discovery protocol (LLDP) may be used to identify adjacencies. From the configurations, the network may establish virtual local area network (VLAN) extraction for an outerTag and an innnerTag (e.g., of Ethernet frames, in which the outerTag includes service provider VLAN information, and the innerTag includes VLAN information for service provider customer traffic).
In one or more embodiments, there are multiple criterion for cluster members. For example, if a service point has a parent device that is not a cluster member, the service point also may be excluded (e.g., resulting in a significant reduction in devices). Candidate members, device to IP mapping, and brute force association also may be used to identify cluster members.
In one or more embodiments, a network may associate a persistent path back to an ordering system. The ordering system may not be configured to recognize interfaces (e.g., may need a service identifier). A customer may have service identifiers on various services of the network used by the customer. The network may use the service identifier to determine a user's location and the network services used at the location, then may investigate the services to establish the persistent network path.
In one or more embodiments, by building the persistent network path at batch processing time, the establishment of the network path may be made faster, more accurately, and may enable the ability to overlay events for diagnostics using the path.
In one or more embodiments, the enhanced persistent network path may allow for seeing what the network sees instead of relying on a customer or blueprint (e.g., accounting for a possible change in the network). In this manner, the enhanced network path herein is more complete and accurate, and is generated faster, making it better for detecting whether a customer has issues and where.
In one or more embodiments, configuration data and predefined network architecture rules regarding the interconnection of network elements are accessed to determine the particular order of the network elements of the network service path. Specifically, each network element may have a particular type, function, or other characteristic which defines a predetermined order or position of the network element within a network service path. Architectural rules may then be used to determine the orientation of the elements within a network service path. For example, where a network element of the network service path is identified as a particular type of router, certain predefined architectural rules may define the specific orientation of the router within the network service path. The order of the network elements of the network service path generally refers to the interconnection of the network elements and, as a result, may be defined by physical, logical, or a combination of both physical and logical relationships between network elements.
In one or more embodiments, an algorithm for identifying cluster candidates may include a call for an index, specifying a particular domain, service points (e.g., me, mo, mh—metro hubs, and the like), and search paths. The result of the call may be a number of candidate devices for a persistent path. The candidate devices may be filtered based on a number of criteria. The filtered candidate devices may be used to build a device-to-IP mapping table for border gateway protocol (BGP) neighbors (e.g., based on a vendor and a domain). The result should be a reduced set of candidates. For any network device, the neighboring devices may be identified (e.g., using the device-to-IP mapping table to resolve BGP neighbor IP to BGP neighbor. A network device may have multiple BGP neighbors at respective IP addresses. For identified neighbors, the algorithm may walk a certain distance until another device is found and added as a candidate. For remaining network devices, the candidate list may be reduced to devices that have mo_to_nid associations. From those, an access identifier may be taken from an instance and searched in the mapping table to associate the device to the cluster. For example, a client device may have multiple BGP neighbor devices with respective IP addresses.
In one or more embodiments, a media route target mat be used to find service members on a cluster of network devices. A metro route target may be reused between markets to eliminate “over-matched” service points.
In one or more embodiments, customer services may be decomposed to their path components in a pre-build persisted path database associated by a database. In this manner, the service status may be proactive, predictive, and restorative. Events, such as performance metrics-based thresholds, equipment failures, nature (e.g., flooding), service tickets, and others (e.g., a fiber line cut) may be input to a disposition rules engine that may update a service status database accordingly. A notification engine may notify users of a network, such as by using subscriptions, e-mail/text, a portal, and the like. In some situations, a resolution engine may resolve/mitigate an identified network impairment.
In one or more embodiments, the results of the algorithm for identifying the persistent path may include, for given service identifiers, a peSp, a mcSP, an access identifier (e.g., from the mcSp), and a ceSp, among others.
The above descriptions are for purposes of illustration and are not meant to be limiting. Numerous other examples, configurations, processes, etc., may exist, some of which are described in greater detail below. Example embodiments will now be described with reference to the accompanying figures.
Referring to
Still referring to
Referring to
Still referring to
Referring to
At block 402, a device (or system, e.g., the communications network 100 of
At block 404, the device may identify, based on the service identifier and traffic data of the communication network, one or more first adjacencies between provider edge devices of the communication network. For example, the one or more first adjacencies may include ma_to_me, mc_to_me, mc_to_ma, and/or mo_to_nid, for some examples (other examples are provided herein).
At block 406, the device may identify, based on the service identifier and traffic data of the communication network, one or more second adjacencies between the provider edge devices and customer edge devices of the communication network. For example, the second adjacencies may include pe_mcpe adjacencies. Referring to blocks 404 and 406, the adjacencies may be identified for each mcRt cluster member, which may be determined based on clusters generated by pe_to_mc adjacencies, mc_to_mc adjacencies, and mcRt_to_members (e.g., cluster member) adjacencies in which the non-cluster members may be removed based on filtering criteria.
At block 408, the device may map, based on the one or more first and second adjacencies, a persisted service path between a customer edge device and a provider edge device. The persisted path may be mapped without a user request (e.g., not at runtime). In this manner, the process 400 may not be user-requested, and the persisted path may be pre-built and stored (e.g., for use by the disposition/rules engine 302 of
It is understood that the above descriptions are for purposes of illustration and are not meant to be limiting.
I/O device 530 may also include an input device (not shown), such as an alphanumeric input device, including alphanumeric and other keys for communicating information and/or command selections to the processors 502-506. Another type of user input device includes cursor control, such as a mouse, a trackball, or cursor direction keys for communicating direction information and command selections to the processors 502-506 and for controlling cursor movement on the display device.
System 500 may include a dynamic storage device, referred to as main memory 516, or a random access memory (RAM) or other computer-readable devices coupled to the processor bus 512 for storing information and instructions to be executed by the processors 502-506. Main memory 516 also may be used for storing temporary variables or other intermediate information during execution of instructions by the processors 502-506. System 500 may include a read only memory (ROM) and/or other static storage device coupled to the processor bus 512 for storing static information and instructions for the processors 502-506. The system outlined in
According to one embodiment, the above techniques may be performed by computer system 500 in response to processor 504 executing one or more sequences of one or more instructions contained in main memory 516. These instructions may be read into main memory 516 from another machine-readable medium, such as a storage device. Execution of the sequences of instructions contained in main memory 516 may cause processors 502-506 to perform the process steps described herein. In alternative embodiments, circuitry may be used in place of or in combination with the software instructions. Thus, embodiments of the present disclosure may include both hardware and software components.
A machine readable medium includes any mechanism for storing or transmitting information in a form (e.g., software, processing application) readable by a machine (e.g., a computer). Such media may take the form of, but is not limited to, non-volatile media and volatile media and may include removable data storage media, non-removable data storage media, and/or external storage devices made available via a wired or wireless network architecture with such computer program products, including one or more database management products, web server products, application server products, and/or other additional software components. Examples of removable data storage media include Compact Disc Read-Only Memory (CD-ROM), Digital Versatile Disc Read-Only Memory (DVD-ROM), magneto-optical disks, flash drives, and the like. Examples of non-removable data storage media include internal magnetic hard disks, SSDs, and the like. The one or more memory devices 506 may include volatile memory (e.g., dynamic random access memory (DRAM), static random access memory (SRAM), etc.) and/or non-volatile memory (e.g., read-only memory (ROM), flash memory, etc.).
Computer program products containing mechanisms to effectuate the systems and methods in accordance with the presently described technology may reside in main memory 516, which may be referred to as machine-readable media. It will be appreciated that machine-readable media may include any tangible non-transitory medium that is capable of storing or encoding instructions to perform any one or more of the operations of the present disclosure for execution by a machine or that is capable of storing or encoding data structures and/or modules utilized by or associated with such instructions. Machine-readable media may include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more executable instructions or data structures.
Embodiments of the present disclosure include various steps, which are described in this specification. The steps may be performed by hardware components or may be embodied in machine-executable instructions, which may be used to cause a general-purpose or special-purpose processor programmed with the instructions to perform the steps. Alternatively, the steps may be performed by a combination of hardware, software and/or firmware.
Various modifications and additions can be made to the exemplary embodiments discussed without departing from the scope of the present invention. For example, while the embodiments described above refer to particular features, the scope of this invention also includes embodiments having different combinations of features and embodiments that do not include all of the described features. Accordingly, the scope of the present invention is intended to embrace all such alternatives, modifications, and variations together with all equivalents thereof.
This application claims priority to U.S. Provisional Patent Application No. 63/515,073, filed Jul. 21, 2023, the entire content of which is incorporated herein by reference for all purposes. This application is also related U.S. Pat. No. 10,560,284, titled “SYSTEM AND METHODS FOR MAPPING A NETWORK SERVICE PATH,” the entire content of which is incorporated herein by reference for all purposes.
Number | Date | Country | |
---|---|---|---|
63515073 | Jul 2023 | US |