US20210036938A1 - Data flow in telecommunications networks using network flow diagrams and associated data - Google Patents
Data flow in telecommunications networks using network flow diagrams and associated data Download PDFInfo
- Publication number
- US20210036938A1 US20210036938A1 US17/076,010 US202017076010A US2021036938A1 US 20210036938 A1 US20210036938 A1 US 20210036938A1 US 202017076010 A US202017076010 A US 202017076010A US 2021036938 A1 US2021036938 A1 US 2021036938A1
- Authority
- US
- United States
- Prior art keywords
- network
- data flow
- routes
- flow information
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
- 238000010586 diagram Methods 0.000 title claims description 127
- 238000000034 method Methods 0.000 claims abstract description 60
- 238000001914 filtration Methods 0.000 claims abstract description 41
- 238000012545 processing Methods 0.000 claims abstract description 27
- 230000005540 biological transmission Effects 0.000 claims abstract description 18
- 238000004891 communication Methods 0.000 claims description 42
- 230000008569 process Effects 0.000 description 13
- 230000000007 visual effect Effects 0.000 description 8
- 230000004044 response Effects 0.000 description 7
- 238000004220 aggregation Methods 0.000 description 6
- 101150014732 asnS gene Proteins 0.000 description 6
- 230000004931 aggregating effect Effects 0.000 description 5
- 230000002776 aggregation Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000006855 networking Effects 0.000 description 3
- 238000007792 addition Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012800 visualization Methods 0.000 description 2
- 235000008694 Humulus lupulus Nutrition 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/04—Processing captured monitoring data, e.g. for logfile generation
- H04L43/045—Processing captured monitoring data, e.g. for logfile generation for graphical visualisation of monitoring data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/02—Capturing of monitoring data
- H04L43/028—Capturing of monitoring data by filtering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/16—Threshold monitoring
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/033—Topology update or discovery by updating distance vector protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2483—Traffic characterised by specific attributes, e.g. priority or QoS involving identification of individual flows
Definitions
- the present disclosure relates to systems and methods for implementing a telecommunications network, and more specifically to a system and method for collecting and processing network flow data for telecommunication networks, including generating diagrammatic representations of the network flow data and corresponding summary data for use in analyzing and improving network flow.
- Telecommunication or other types of computer networks transmit information. Such information may involve voice, data, multimedia information, software (including patches and updates), and various other forms of digital content, and digital services, among many other things.
- telecommunication networks often offer features and/or services to the customers of the network that provide flexible and varied ways in which the communications are transmitted over the network. For example, some telecommunication networks provide Internet access, long distance voice capabilities, high definition audio and/or video communication capabilities, and the like. In other examples, the telecommunications network may provide various types of stored or streaming content to a user of the network.
- a method for configuring a telecommunications network includes obtaining network data flow information for a telecommunications network, the network data flow information including attributes of a plurality of routes of data transmission through the telecommunications network.
- the method further includes applying, utilizing at least one processing device, a filtering criteria to the network data flow information to identify a subset of the plurality of routes, the filtering criteria including an attribute shared among each of the subset of the plurality of routes.
- the method also includes generating a network flow diagram from the network data flow information corresponding to the subset of the plurality of routes.
- the network flow diagram includes a representation of the attribute of the filtering criteria, representations of other attributes of the subset of the plurality of routes, and representations of the subset of the plurality of routes.
- another method for configuring a telecommunications networks includes obtaining network data flow information for a telecommunications network, the network data flow information including attributes of a plurality of routes of data transmission through the telecommunications network.
- the method further includes applying, utilizing at least one processing device, a filtering criteria to the network data flow information to identify a subset of the plurality of routes, the filtering criteria including an attribute shared among each of the subset of the plurality of routes.
- the method also includes generating filtered data from the network data flow information corresponding to the subset of the plurality of routes.
- the filtered data includes network data flow information for the attribute of the filtering criteria, network data flow information for other attributes of the subset of the plurality of routes, and network data flow information for the subset of the plurality of routes.
- a network data flow is then identified from the subset of the plurality of routes through an analysis of the filtered data, the network data flow comprising a performance metric exceeding a performance threshold.
- a reconfiguration message for an attribute of the identified network data flow is generated, the reconfiguration message configured to reconfigure the attribute of the identified network data flow to alter the identified network data flow.
- a telecommunications system in yet another aspect of the present disclosure, includes a telecommunications network that includes multiple network attributes and a network flow connecting the network attributes.
- the telecommunications system further includes at least one processing device in communication with the network attributes.
- the network flow is configured based on a configuration message generated by the at least one processing device.
- the at least one processing device generates the configuration by obtaining network data flow information for network flows through the telecommunications network; applying a filtering criteria to the network data flow information to identify routes of data transmission through the telecommunications network, the filtering criteria including an attribute shared among each of the routes; and generating filtered data from the network data flow information.
- the filtered data corresponds to the routes and includes network data flow information for the attribute of the filtering criteria, network data flow information for other attributes of the routes, and network data flow information for the routes.
- FIG. 1 schematic diagram illustrating an exemplary telecommunications system in accordance with one implementation of the present disclosure.
- FIG. 2 is a block diagram illustrating a computing environment including a diagrammatic data flow computing system and associated data sources, such as may be included in the network environment of FIG. 1 .
- FIG. 3 is a flowchart of a method for generating a diagram of a flow of network data through a telecommunications network and provisioning an aspect of the network in accordance with an implementation of the present disclosure.
- FIG. 4 is an exemplary network flow diagram for use in provisioning an aspect of a telecommunications network in accordance with one implementation of the present disclosure.
- FIG. 5 is a diagram illustrating an example of a computing system which may be used in implementing the present disclosure.
- network flow data is collected from one or more devices within a network.
- Such information may include, among other things, information regarding ingress and egress devices or networks, amounts of data transmitted using the flow, source and destination devices or networks, and the like.
- the network flow data may be stored or otherwise made accessible to a computing system configured to generate a network flow diagram for a subnetwork or device of the network for which data is available. Additionally, the computing system may also filter and aggregate the data according to various parameters.
- the processed network flow data may be used to generate and/or execute configuration instructions for one or more devices within a network.
- telecommunication networks may be configured to provide a wide range of network-related services.
- content providers publishers
- content providers use the components or servers of telecommunications networks to serve all forms of content throughout the world.
- CDNs content delivery networks
- content can be primarily served from the CDN (e.g., from one or more content servers in the CDN) instead of from the content provider's server(s).
- Numerous forms of content may be served from the CDN. For example, television shows and movies may be accessed from any number of Web sites, and the shows and movies may be served from the CDN.
- Print newspapers have migrated to the Web and provide portals through which clients operating some form of computing device (e.g., PC, smart phone, or tablet), with a browser may access numerous forms of content, such as short video clips, articles, images, and audio tracks.
- Software updates and patches, once provided on disc and mailed to recipients, are now routinely distributed to devices from a CDN through one or more network connections and devices.
- Each service provided by a telecommunications network is associated with a flow of data through the network, typically in the form of data packets. Analyzing, processing, and controlling these data flows through the network may aid a network administrator in the configuration and provisioning of the network components. For example, it is often more efficient and cost effective for a telecommunications network to minimize the distance that a packet is transmitted through the network. Thus, routing a packet received in New York through Los Angeles to a destination or egress in Houston is generally not an efficient routing of the packet, if, for example, a route with fewer hops or directly to Houston is available.
- Minimizing the logical distance e.g., number of routers between a source and destination
- the packet is transmitted through the network may optimize costs, lessen or balance traffic congestion through the network, and have other advantages.
- logical distance e.g., number of routers between a source and destination
- efficient and intuitive computerized management tools are required.
- a diagrammatic data flow system may receive network flow information, process the network flow information to reduce the volume of information into an understandable quantity of information, and generate a Sankey-like graph or diagram of the network flow information. Further, the diagrammatic data flow system may provide one or more network configuration commands based on the analyzed network flow data to improve the efficiency or cost of the operation of the network. In this manner, the diagrammatic data flow system may receive network flow data for a telecommunications network and process the data into a diagram of network flow data that can be utilized for network configuration.
- telecommunications networks may process several million data flows or routes through the network in any given day.
- one particular aspect of the present disclosure provides for filtering of network flow data to provide a visual diagram of a portion of the data flow through the network.
- such filtering applied by the diagrammatic data flow system may obtain the network flow information of a particular component, gateway, port, or region (known as an “attribute” of the network) of the telecommunications network from the entire network flow data and provide a visual diagram of that portion of the network flow data.
- network data flows that process a fewer number of data bytes may be collected or gathered together into a single data flow in the diagram of network flows, and in some cases may be removed from the diagram altogether if the bytes of the data flow is measured as below a threshold value.
- the network flow data may be parsed or manipulated in any manner to provide a more coherent visual diagram of network flow data.
- the visual diagram of network flow may provide commands or suggestions for improving the operation of the telecommunications network.
- the diagrammatic data flow system may identify a route between two or more components of the network that does not minimize the distance a communication packet is transmitted. The system may then color the identified route in the network flow diagram with a particular color that indicates the efficiency or cost-effectiveness of the route is not maximized or may be improved.
- the diagrammatic data flow system may create and/or transmit one or more provisioning instructions to components of the network based on the information included in the network flow diagram to improve the efficiency or operation of the network. In this manner, the diagrammatic data flow system may utilize the information obtained or displayed in the network flow diagram to configure aspects of the telecommunications network to increase the operating cost and effectiveness of the network.
- a network engineer or administrator may utilize information provided in the network flow diagram to provide network configuration instructions or commands.
- FIG. 1 illustrates a representative telecommunications system 100 , which may be or include a CDN, with a diagrammatic data flow computing system 150 .
- the telecommunications system 100 provides for communicating data across a network 102 including for providing one or more network services to network users. More generally, however, the telecommunications system 100 facilitates transmission of network traffic (which may include information, commands, and the like) between devices, services, networks, or any combination thereof.
- a device 110 may request content that is stored or otherwise available through the network 102 .
- a customer network such as customer network 142 , may connect to the network 102 in several locations or through several access points and a request for services may include providing the service to some or all of the customer's connection points.
- the network 102 includes numerous components such as, but not limited to gateways, routers, and registrars, which enable communication and/or provides services across the network 102 , but are not shown or described in detail here because those skilled in the art will readily understand these components. More relevant to this description is the interaction and communication between the network 102 and other entities, such as the one or more customer home or business local area networks (LANs) 106 or customer networks 142 , where a user of the network will connect with the network.
- LANs local area networks
- Customer network 106 can include communication devices such as, but not limited to, a personal computer, set top box, or other device, connected to a router/firewall 114 . Although shown in FIG. 1 as computer 110 , the communication devices may include any type of communication device that receives a multimedia signal (such as an audio, video, or web-based signal) or receives/transmits data and presents that signal or data for use by a user of the communication device.
- the communication and networking components of the customer network 106 enable a user at the customer network 106 to communicate via the network 102 to other communication devices, such as another customer 126 or another customer network 142 . Access to the Internet may also be provided through the network 102 .
- Components of the customer network 106 are typically home- or business-based, but they can be relocated and may be designed for easy portability.
- the communication device 110 may be wireless (e.g., cellular) telephone, smart phone, tablet or portable laptop computer.
- multiple communication devices in diverse locations that are owned or operated by a particular entity or customer may be connected through the network 102 .
- customer network 142 connects to network 102 through two edge device components 133 , 134 . Such connections may be geographically diverse such that the customer network 142 connects to the network in various locations.
- the customer network 142 may connect to the telecommunications network 102 through any number of connections.
- the customer network 106 may connect to the network 102 via a border network 122 , such as one provided by an Internet Service Provider (ISP).
- the border network 122 is typically provided and maintained by a business or organization such as a local telephone company or cable company.
- the border network 122 may provide network/communication-related services to their customers. Communication via any of the networks can be wired, wireless, or any combination thereof.
- An operator of the network 102 may configure the network in any manner to facilitate the routing of communications through the network.
- the network 102 may include a series of interconnected networking devices, such as routers and switches (illustrated in FIG. 1 as “routing device(s)” 140 ), that receive a communication, analyze the communication to determine a destination, and route the communication to a connected networking device to get the communication closer to a destination or egress point.
- the routing devices 140 may include one or more servers or other data storage devices. Such devices may store content that is available to users of the network 102 or provide routing instructions to communication devices connected to the network for accessing such content.
- routing or transmission paths through the network 102 and in particular between two or more components of the network, provide for the exchange of data packets to provide the services and/or content of the network to the network customers.
- routes or paths through the network 102 connect two or more devices of the network. These paths define how data may travel or flow through a network as the devices share data and communications. Large telecommunications networks may include several million of such paths that exchange data or communication packets on a daily basis to provide services and content to network users. As should be appreciated, tracking the performance or each path of a network flow may be close to an impossible task for a network administrator. Further, even limiting the view of network flows to a particular component or group of components may not provide an easily understandable picture of the network flows for those components.
- a system processes any number of network data flows and generates understandable visual data flow diagrams for use by network engineers or administrators to configure or provision network elements to improve the efficiency and operation of a telecommunications network.
- the data flow diagrams may be customizable for particular portions of the network as desired to further improve the understanding of the network configuration.
- FIG. 1 is further illustrated as including a diagrammatic data flow computing system 150 .
- the diagrammatic data flow computing system 150 is generally configured to collect network flow data from devices of the network 102 , to process such data (e.g., by filtering and/or aggregating the data), and to generate diagrams and visualizations from the data illustrating data flows within the network 102 .
- the processed data and/or diagrams may be accessed by network administrators from the diagrammatic data flow computing system 150 either directly or through a network administration system 152 in communication with the diagrammatic data flow computing system 150 .
- the diagrammatic data flow computing system 150 may also be incorporated into a broader network monitoring and administration system, such as any relevant device in a network operational center (NOC).
- NOC network operational center
- the diagrammatic data flow computing system 150 and/or the network administration system 152 be configured to automatically generate transmit one or more configuration instructions to devices of the network 102 in response to the network flow data collected and processed by the diagrammatic data flow computing system 150 .
- FIG. 2 is a block diagram illustrating a computing environment 200 for use in generating and presenting diagrammatic representations of network data flows.
- the environment 200 includes a diagrammatic data flow computing system 202 for a telecommunications network in accordance with one implementation of the present disclosure and which may generally correspond to the diagrammatic data flow computing system 150 of FIG. 1 .
- the system 202 may include several components or applications for receiving network data flow information, processing the information based on aggregating techniques and/or one or more information filters, and generate a network flow diagram corresponding to the network information.
- the system 202 may also generate and/or provide network configuration instructions or commands based on the generated network flow diagram and transmit those instructions to the network or a network administrator for execution.
- Other components may be present in the system 202 although not illustrated in FIG. 2 or discussed herein.
- components of the network 102 may be configured to generate and self-report routes, data flows, packets processed, alarms, states, and other operational information to a centralized network operational center (NOC). Multiple systems within the NOC may then process the information in an attempt to determine operational status of the components of the network.
- NOC network operational center
- a network flow collector e.g., a NetFlow collector
- the network flow collector may be deployed within or in communication with the network to obtain network data flow information.
- the network flow collector may be an application or applications that requests operational and data flow information from components of the network 102 on a continual basis. This may include both self-reporting and requests for operational information from the components.
- the collected network data flow information may then be stored as network flow collector data 210 and made available to the diagrammatic network flow computing system 202 .
- network flow collector and/or NOC Through the network flow collector and/or NOC, at least some aspect of the flow of communications and data through the network 102 may be obtained and provided to the diagrammatic network flow computing system 202 .
- Additional network information 210 may also be available to the diagrammatic network flow computing system 202 .
- routing tables for routing information between components of the network 102 may be gathered and stored in the network information database 210 .
- Such information may be obtained through Border Gateway Protocol (BGP) and Interior Gateway Protocol (IGP) announcement sessions between components of the network.
- BGP Border Gateway Protocol
- IGP Interior Gateway Protocol
- Other network information such as port assignments, transmission line information, and Internet Protocol (IP) address or other component identifying information may also be stored in the network information database 210 .
- IP Internet Protocol
- any network information pertaining to any number of flows of data through the network 102 may be obtained by the network flow collector and stored in the network flow collector data 208 or stored in the network information database 210 for use by the diagrammatic network flow computing system 202 of FIG. 2 .
- the information provided through the network flow collector or within the network information database 210 is typically in a text-based format.
- dataflow information received from (or obtained by the network flow collector) any component of the network may include text information for any aspect of the data flow.
- data flow information from an ingress device of the network 102 may include an entry for ingress region, ingress country, ingress state, ingress city, ingress gateway, ingress router, and ingress interface for each data flow.
- Egress information may also be obtained, such as an entry for egress region, egress country, egress state, egress city, egress gateway, egress router, and egress interface.
- Data flow information for a particular device of the network 102 may be obtained through analysis of network configuration (such as through network information database 210 ), such as the ingress and egress region, country, state, city, gateway, etc.
- Other data flow information, such as ingress ASN, egress ASN, source device ASN, etc. may be obtained through an analysis of a received communication at the device. Such information may be included in metadata or other signaling information included in the communication.
- the components of the network 102 may track or store an amount of data (measured in bytes, in some instances) transmitted from the component to other components in the network and provide such information to a database of the network upon receiving a request for such information.
- the diagrammatic data flow computing system 202 may obtain or receive any data flow information for the transmission of data through the telecommunications network 102 .
- the diagrammatic data flow computing system 202 may execute one or more applications to process the data, generate a diagram of network data flow, and/or configure one or more components of the network according to the network data flow diagram.
- the diagrammatic data flow computing system 202 may execute a network flow filtering application.
- the filtering application may apply one or more filters to the network flow data to reduce the amount of information included in a network flow diagram and enhance the display of the information shown.
- the type of data filter applied to the network flow data may be based on an input received at the diagrammatic data flow computing system 202 from a user interface 220 . More particularly, a user interface 220 may be in communication with the diagrammatic data flow computing system 202 .
- a user of the diagrammatic data flow computing system 202 may utilize the user interface 220 to provide inputs to the applications of the diagrammatic data flow computing system. For example, a user may select a particular device of the network 102 for which to view data flows through the particular device in a network flow diagram. The filtering application 212 may then isolate or identify the portion of the received network flow information that corresponds to the received component selection for inclusion in a network flow diagram.
- any aspect of the network data flow information may be selected as a filter.
- a user may filter the network data flow information based on particular components, particular regions, particular gateways, particular ASNs, and the like.
- more than one filter may be applied to the network data flow information by the filtering application 212 .
- the user may provide several filtering inputs to the user interface 220 to further refine the desired network flow data to be included in the network flow diagram. In this manner, the millions of network data flows for the telecommunications network 102 may be reduced so that the network flow diagram is tailored for use by the system 202 or a network administrator.
- the aggregating application 204 aggregates particular network data flows of a subset of the network data flow information (which may be but is not necessarily a proper subset of the network data flow information) per attribute of the network data flows. For example, even after the application of one or more filters to the network flow data, several thousand data flows may be still remain in the network flow data to be illustrated in the network flow diagram. To improve the understanding of the network flow diagram, certain data flows may be combined prior to generating the diagram.
- the aggregated network data flows may be data flows that are smaller in size (based on number of bytes of the data flow) relative to the other data flows in the subset of network flow information.
- Such data flows may be gathered into a collected network data flow and labeled as “other” or “miscellaneous” such that the network flows are included in the network flow diagram, but are not represented individually within the diagram. Such aggregation may be executed for any attribute of the network data flows to reduce the information illustrated in the corresponding network flow diagram.
- aggregation of network data flow information may be based on other aspects of the network flow information and a new data point may be created in the network flow data.
- a particular telecommunications network 102 may include several gateways or ingress devices in a particular metro area. Such devices may be aggregated together as a single metro area and a new data point for “ingress metro” may be created and added to the network flow information.
- the created attribute may also be stored in the network information database 210 or the network flow collector information for use by the diagrammatic data flow computing system 202 .
- Other attributes for the network data flow information may be created by the aggregating application 204 and included in the network flow data and/or the network flow diagram.
- the diagrammatic data flow computing system 202 may utilize the filtered and aggregated network flow information to create a network flow diagram and display the generated diagram on a display (such as through the user interface 220 discussed above).
- a network flow diagram for a particular ingress component of the telecommunications network 102 is illustrated in FIG. 4 and discussed in more detail below.
- FIG. 4 a particular implementation is illustrated in FIG. 4 , it should be appreciated that other visual representations or diagrams may be generated by the diagrammatic data flow computing system 202 .
- a visual representation of network data flows may be provided to the user of the user interface 220 or other applications of the diagrammatic data flow computing system 202 .
- the diagrammatic data flow computing system 202 may also include a network configuration application 214 .
- the network configuration application 214 analyzes a network flow diagram and generates one or more network commands to configure aspects of the telecommunications network. Through the analysis, the network configuration application 214 may determine one or more inefficiencies or redundancies in network data flow between the components included in the diagram. The network configuration application 214 may then generate and transmit one or more configuration instructions to network components to address the determined inefficiencies.
- the network configuration application 214 may generate an alert or alarm to a network administrator, such as through a message on the user interface 220 or an electronic mail sent to a network administrator e-mail address. The alert may include suggestions for network configurations to address the determined network inefficiency.
- an alert displayed on the user interface 220 to a user of the system 202 may provide configuration instructions that may be selectable by the user to configure the network accordingly.
- any configuration of the network may be made in response to the network flow diagram generated by the diagrammatic data flow computing system 202 .
- FIG. 3 is a flowchart of a method 300 for generating a diagram of a flow of network data through a telecommunications network and provisioning an aspect of the network in accordance with one implementation of the present disclosure.
- the operations of the method 300 may be performed by any component of the diagrammatic data flow computing system 202 , such as the applications of the system discussed above. As such, the operations may be executed through a hardware component of the diagrammatic data flow computing system 202 , through one or more programs of the system, or any combination of hardware and software components.
- the diagrammatic data flow computing system 202 receives network data flow information from the network 102 .
- the network data flow information may be obtained from a network database 210 , network flow collector data 208 (e.g., as obtained from a network flow collector deployed in the network 102 ), and/or from one or more components of the network itself.
- the network data flow information may include any aspect of the flow of data or communications through the network 102 , including ingress information, egress information, and the number of bytes transmitted between devices within the network.
- the bytes of data transmitted through a particular data flow may be obtained daily from the network 102 for use in generating a network data flow diagram.
- the diagrammatic data flow computing system 202 may join subsets of the network data flow information together to form new data flow sets or attributes. For example, the system 202 may combine data flows from several related ingress devices if such devices are located within the same metro area. A new attribute may then be created by the system 202 for those identified data flows that contain the joined network data flow information. Extending the above example, each network data flow set of information that is included in the same metro area may be modified by the system 202 to add a new attribute that identifies the shared metro, such as an “ingress metro” attribute. Other shared aspects of network data flows may be identified and new attributes added to the network data flow information corresponding to the shared aspect may be added by the system 202 .
- network data flows that share attributes may be combined by the diagrammatic data flow computing system 202 .
- a data flow may include information for a particular communication session between two or more components of the network 102 .
- an additional communication session may occur between the same two components of the network 102 .
- the system 202 in this circumstance may identify that the aspects of the network flow data are the same from the first session and the second session and combine the transmitted data bytes from the sessions into a single data flow. In this manner, the diagrammatic data flow computing system 202 may reduce or combine similar network data flows from the received data flow information.
- One or more filtering criteria for limiting the network flow information that is included in the diagram may be received at the diagrammatic data flow computing system 202 in operation 306 .
- the filtering criterion is received through a user interface 220 in communication with the diagrammatic data flow computing system 202 .
- a user such as a network administrator
- a user may indicate a particular ingress gateway in the user interface 220 when attempting to view the network data flow associated with that ingress gateway.
- filtering criteria may also be provided in addition to or separate from the ingress gateway, such as an egress gateway, an ingress network, an egress network, an ingress ASN, an egress ASN, whether the network data flows are a part of a CDN (such as may be indicated by a CDN identifier), etc.
- any attribute of network data flow information discussed above may be identified as a filtering criteria by the user interface 220 and applied to generate a subset of the overall network data flow information.
- An example of a filter that limits the network data flow information to a particular ingress router device is used through the remainder of the description of the method 300 of FIG. 3 and the network flow diagram 400 of FIG. 4 . It should be appreciated, however, that any attribute of the received network data flow may be received and applied to the network data flow information to obtain the particular data flow information illustrated in the diagram discussed below.
- the diagrammatic data flow computing system 202 may filter the complete network data flow information utilizing the received filter information to generate a subset of the network data flow information for diagramming.
- the subset of network data flow information may further be reduced or aggregated based on the attributes of the subset of network data flow information.
- the diagrammatic data flow computing system 202 may include a limit on the number of data flows that are illustrated in a particular network data flow diagram. The limit of data flows may be set by the system or may be based on an input provided to the system through the user interface 220 . In one particular implementation, the number of data flows illustrated in a diagram may be limited to twenty-five data flows to ensure that the diagram is not over-crowded with illustrated data flows. Thus, the diagrammatic data flow computing system 202 may aggregate some of the subset of network data flows into an “other” or “miscellaneous” collection of network flows when those data flows fall below a particular threshold value.
- the diagrammatic data flow computing system 202 may rank the network data flows in the filtered subset of network data flows by number of bytes transmitted over a period of time, such as over the previous 24 hours. As mentioned above, each network data flow entry may include a number of bytes transmitted over the period of time. Thus, the diagrammatic data flow computing system 202 may rank each network flow based on the number of processed bytes of data. Further, the system 202 may then combine or aggregate information for those network data flows that are below the limit of data flows to be included in the diagram. For example, the network data flows with a number of bytes of transmitted data below the first twenty-five data flows may be combined into a single network data flow for inclusion in the data flow diagram.
- certain attributes of a data flow may be altered within the network data information to indicate the aggregation. For example, if a subset of the network data flows is filtered based on ingress gateway, those network data flows that fall below the threshold may have an ingress gateway entry in the data flow information altered to a generic entry, such as “other” or “miscellaneous”. In this manner, separate data flows may be combined under a generic attribute. Further, aggregation of network data flows may also occur after alteration to the network data flow information. For example and as mentioned above, data flows with the same attributes may be combined into a single data flow by the diagrammatic data flow computing system 202 , such as data flows that occur along the same route through the network but occur at different times.
- Similar data flows may be combined by the diagrammatic data flow computing system 202 to create a data flow for that particular day along the route described in the data flow attributes.
- a particular attribute of the subset of network data flows is altered or changed to the generic entry (i.e., “other” or “miscellaneous”)
- more data flows may have similar attributes and can be combined by the system.
- two data flows may have the same attribute values but different egress gateways values. If the egress gateway values are generalized to a generic value as described above, the two data flows may then have the same attributes along the entire route through the network and may therefore be combined into a single data flow.
- re-aggregation of network data flows may occur within the network data flow information after one or more data flow attributes have been altered. Further, this re-aggregation process may occur through an iterative process after any change or generalization of the network data flow information.
- the diagrammatic data flow computing system 202 may then generate a network data flow diagram in operation 312 .
- a network data flow diagram 400 is illustrated in FIG. 4 .
- the network flow data illustrated in the diagram 400 includes data transmitted through a telecommunications network that is filtered and/or aggregated as described above.
- the illustrated network flow data of the diagram 400 is filtered for a particular ingress gateway device of the network such that the diagram illustrates all data flows through that particular ingress gateway device over a 24-hour period.
- Attributes of the collected network data flows are illustrated, including ingress ASN, egress gateway, egress ASN, destination ASN, and total transmitted bytes for each data flow over the 24-hour period.
- Other diagrams of network data flows may illustrate other attributes over a longer or shorter period of time.
- any values included in the collected network data flow for the telecommunications network may be illustrated in the diagram 400 in some manner.
- the network flow information of the diagram 400 of FIG. 4 is presented as a Sankey-type diagram. Other types of diagrams may also be utilized by the diagrammatic data flow computing system 202 to illustrate the network flow data.
- each data flow measured for a particular ingress gateway 402 to the network 102 is shown.
- the ingress gateway is illustrated in the diagram 400 as bar 402 .
- the overall size of the bar is relative to the number of data bytes transmitted through the bar in the given time period of the network data information.
- the height of ingress gateway 402 may correspond to a number of data bytes transmitted through that gateway in the previous 24-hour period.
- a user of the diagrammatic data flow computing system 202 may provide a beginning and ending time to define a time period as a network data flow filter.
- Other components of the diagram 400 (such as the height of other bars 408 - 412 or data flows 406 ) may also correspond to a number of data bytes for those particular components.
- a user of the diagrammatic data flow computing system 202 provides a filter to the system that limits the network data flow information to the ingress gateway. For example, if the user chooses to filter the network data flow information based on the ingress gateway 402 , the data flows illustrated in the diagram 400 (e.g., as a colored or shaded flow from left to right through the diagram) will be limited to those that transmit through the ingress gateway 402 .
- each data flow 406 is of a unique color to differentiate one network flow from another. In another implementation of the present disclosure, each data flow 406 is shaded to provide differentiation between the flows.
- each data flow 406 may correspond to a data bytes of the network flow included in the network flow information.
- the color or shade of the network data flow 406 may be based on the destination ASN 412 for each data flow.
- data flows terminating at destination ASN A 414 may be a different color or shade than data flows terminating at destination ASN B 416 .
- the data bytes associated with any one data flow may be display within the diagram 400 .
- a user of the user interface 220 may select a particular data flow through an input device to a computer executing the user interface and information about the selected data flow may be provided in the diagram 400 , such as a number of processed bytes associated with the data flow.
- the diagram 400 of FIG. 4 illustrates an ingress ASN 404 from which each of the data flows for the ingress gateway 402 is received at the network 102 .
- the ingress ASNs 404 for the data flows are illustrated as a colored or shaded box with a label (potentially identifying a geographic location of the ASN) and a relative height associated with the size of the data flows originating from the ingress ASN 404 .
- some of the ingress ASNs 404 may be associated with more than one data flow, as illustrated by the multiple colored or differently shaded data flows originating from the ingress ASNs.
- the network flow diagram 400 illustrates egress gateways 408 from the telecommunications network 102 from which the network flows exit the network. Egress ASNs 410 for each network data flow and destination ASNs 412 are also illustrated. It should be appreciated that more or fewer attributes of the network flow information may also be included in the diagram 400 based on the filtering information applied to the network data flow information. For example, ingress metro, ingress region, egress city, egress country, etc. may be included in the diagram for the network flows in a similar manner as the ingress ASN, ingress gateway, egress ASN, egress gateway, etc. Further, each value in the network flow attributes that are illustrated may be labeled within the diagram 400 to provide identifiable information to a viewer of the diagram.
- an understanding of data flows through components of the telecommunications network may be obtained.
- a system or viewer receiving the diagram 400 may visually follow a data flow from an ingress ASN through the network to a destination ASN. Further, because each data flow is uniquely colored or shaded, the system or viewer may track the data flow through the components of the network 102 . As explained in more detail below, this information may be utilized by a network or a network administrator to configure one or more components of the telecommunications network 102 in response to the network data flow information illustrated in the diagram 400 .
- the diagrammatic data flow computing system 202 may provide the network flow diagram to the user interface 220 in communication with the system.
- the diagram 400 may be displayed on a display device of the user interface 220 in operation 314 .
- a network administrator may view the diagram 400 on the display device to gain an understanding of the operation of at least a portion of the telecommunications network 102 .
- the diagrammatic data flow computing system 202 may analyze the diagram 400 to determine attributes or features of the illustrated data flows without necessarily displaying the diagram on a display device.
- the diagrammatic data flow computing system 202 may process the network data flow information into a diagram through which the system can analyze the information and determine an operation of the network. Regardless of whether the diagram 400 is displayed on a display device or user interface or analyzed by a system, the network flow information contained within the diagram may be utilized to configure or alter a configuration of a telecommunications network in response.
- the diagrammatic data flow computing system 202 in operation 316 may analyze the information included in the network flow diagram 400 to determine an operation of the telecommunications network 102 .
- the system 202 may determine that a network data flow is transmitted through the network 102 in an inefficient manner, such as being transmitted from one continent to another and back before egressing from the network.
- Other inefficiencies may also be determined, such as transmission between various components of the network 102 before egressing from the network when a single network flow to a particular egress component may connect the data flow to the egress ASN.
- any analysis of the network data flows within the diagram 400 may be conducted by the system 202 to determine an operation of the network 102 to identify one or more inefficiencies within the network.
- the network flows in the diagram 400 may be measured against a particular performance threshold value to identify the inefficiency. For example, a measured geographic distance of a network flow may be compared against a maximum threshold distance value by the system 202 . If the measured or estimated network flow distance exceeds the threshold performance value, the network flow within the diagram 400 may be identified as inefficient and a candidate for alteration by the system.
- the diagrammatic data flow computing system 202 may also generate and transmit one or more configuration instructions to components of the network 102 to configure the transmission of data through the network in response to the analysis of the network data flow diagram 400 .
- the system 202 may identify a more efficient (e.g., shorter or underutilized) transmission path through the network and configure the components of the network included in the new transmission path to accept and transmit the re-directed data flow.
- Such configuration of the network 102 may include providing instructions to one or more components of the network 102 to create a new data flow through the network when the instructions are executed by the receiving network components.
- a network engineer or designer may utilize the information included in the network data flow diagram 400 to identify inefficiencies in the network configuration and transmit configuration instructions to components of the network 102 to create a new data flow route through the network.
- the data flow information included in the network flow diagram 400 may be utilized to configure one or more components of the telecommunications network 102 to alter or create a data flow through the network.
- a telecommunications network 102 may generate one or more visual data flow diagrams of network data flows through the telecommunications network. Such diagrams may be utilized by network engineers or administrators to configure or provision network elements to improve the efficiency and operation of a telecommunications network.
- a diagrammatic data flow system may receive network flow information, process the network flow information to reduce the volume of information into an understandable quantity of information, and generate a Sankey-like graph or diagram of the network flow information. Further, the diagrammatic data flow system may provide one or more network configuration commands based on the analyzed network flow data to improve the efficiency or cost of the operation of the network. In this manner, the diagrammatic data flow system may receive network flow data for a telecommunications network and process the data into a diagram of network flow data that can be utilized for network configuration.
- FIG. 5 is a block diagram illustrating an example of a computing device or computer system 500 which may be used in implementing aspects of the systems and methods disclosed herein.
- the computing system 500 of FIG. 5 may be the diagrammatic data flow computing system 202 discussed above.
- the computer system includes one or more processors 502 - 506 .
- Processors 502 - 506 may include one or more internal levels of cache (not shown) and a bus controller or bus interface unit to direct interaction with the processor bus 512 .
- Processor bus 512 also known as the host bus or the front side bus, may be used to couple the processors 502 - 506 with the system interface 514 .
- System interface 514 may be connected to the processor bus 512 to interface other components of the system 500 with the processor bus 512 .
- system interface 514 may include a memory controller 518 for interfacing a main memory 516 with the processor bus 512 .
- the main memory 516 typically includes one or more memory cards and a control circuit (not shown).
- System interface 514 may also include an input/output (I/O) interface 520 to interface one or more I/O bridges or I/O devices with the processor bus 512 .
- I/O controllers and/or I/O devices may be connected with the I/O bus 526 , such as I/O controller 528 and I/O device 530 , as illustrated.
- the system interface 514 may further include a bus controller 522 to interact with processor bus 512 and/or I/O bus 526 .
- 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 .
- an input device such as an alphanumeric input device, including alphanumeric and other keys for communicating information and/or command selections to the processors 502 - 506 .
- 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 .
- ROM read only memory
- FIG. 5 is but one possible example of a computer system that may employ or be configured in accordance with aspects of the present disclosure.
- 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 implementations, circuitry may be used in place of or in combination with the software instructions. Thus, implementations 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. Non-volatile media includes optical or magnetic disks. Volatile media includes dynamic memory, such as main memory 516 . Common forms of machine-readable medium may include, but is not limited to, magnetic storage medium; optical storage medium (e.g., CD-ROM); magneto-optical storage medium; read only memory (ROM); random access memory (RAM); erasable programmable memory (e.g., EPROM and EEPROM); flash memory; or other types of medium suitable for storing electronic instructions.
- a form e.g., software, processing application
- Such media may take the form of, but is not limited to, non-volatile media and volatile media.
- Non-volatile media includes optical or magnetic disks.
- Volatile media includes dynamic memory,
- Implementations 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.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Mining & Analysis (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
- The present disclosure relates to systems and methods for implementing a telecommunications network, and more specifically to a system and method for collecting and processing network flow data for telecommunication networks, including generating diagrammatic representations of the network flow data and corresponding summary data for use in analyzing and improving network flow.
- Telecommunication or other types of computer networks transmit information. Such information may involve voice, data, multimedia information, software (including patches and updates), and various other forms of digital content, and digital services, among many other things. In addition, telecommunication networks often offer features and/or services to the customers of the network that provide flexible and varied ways in which the communications are transmitted over the network. For example, some telecommunication networks provide Internet access, long distance voice capabilities, high definition audio and/or video communication capabilities, and the like. In other examples, the telecommunications network may provide various types of stored or streaming content to a user of the network.
- In light of the broad and varied uses of telecommunications networks, collecting and analyzing network traffic of a network, a subnetwork, or specific devices within a network is often required to diagnose issues within a network, to optimize network resources, and to improve the overall functionality and efficiency of a network. Accordingly, there is a need for tools that facilitate the rapid collection of network data and the presentation of such data to network administrators in a useful and intuitive way, among other things.
- It is with these observations in mind, among others, that aspects of the present disclosure were conceived.
- In one aspect of the present disclosure, a method for configuring a telecommunications network is provided. The method includes obtaining network data flow information for a telecommunications network, the network data flow information including attributes of a plurality of routes of data transmission through the telecommunications network. The method further includes applying, utilizing at least one processing device, a filtering criteria to the network data flow information to identify a subset of the plurality of routes, the filtering criteria including an attribute shared among each of the subset of the plurality of routes. The method also includes generating a network flow diagram from the network data flow information corresponding to the subset of the plurality of routes. The network flow diagram includes a representation of the attribute of the filtering criteria, representations of other attributes of the subset of the plurality of routes, and representations of the subset of the plurality of routes.
- In another aspect of the present disclosure, another method for configuring a telecommunications networks is provided. The method includes obtaining network data flow information for a telecommunications network, the network data flow information including attributes of a plurality of routes of data transmission through the telecommunications network. The method further includes applying, utilizing at least one processing device, a filtering criteria to the network data flow information to identify a subset of the plurality of routes, the filtering criteria including an attribute shared among each of the subset of the plurality of routes. The method also includes generating filtered data from the network data flow information corresponding to the subset of the plurality of routes. The filtered data includes network data flow information for the attribute of the filtering criteria, network data flow information for other attributes of the subset of the plurality of routes, and network data flow information for the subset of the plurality of routes. A network data flow is then identified from the subset of the plurality of routes through an analysis of the filtered data, the network data flow comprising a performance metric exceeding a performance threshold. Finally, a reconfiguration message for an attribute of the identified network data flow is generated, the reconfiguration message configured to reconfigure the attribute of the identified network data flow to alter the identified network data flow.
- In yet another aspect of the present disclosure, a telecommunications system is provided. The telecommunications system includes a telecommunications network that includes multiple network attributes and a network flow connecting the network attributes. The telecommunications system further includes at least one processing device in communication with the network attributes. The network flow is configured based on a configuration message generated by the at least one processing device. The at least one processing device generates the configuration by obtaining network data flow information for network flows through the telecommunications network; applying a filtering criteria to the network data flow information to identify routes of data transmission through the telecommunications network, the filtering criteria including an attribute shared among each of the routes; and generating filtered data from the network data flow information. The filtered data corresponds to the routes and includes network data flow information for the attribute of the filtering criteria, network data flow information for other attributes of the routes, and network data flow information for the routes.
-
FIG. 1 schematic diagram illustrating an exemplary telecommunications system in accordance with one implementation of the present disclosure. -
FIG. 2 is a block diagram illustrating a computing environment including a diagrammatic data flow computing system and associated data sources, such as may be included in the network environment ofFIG. 1 . -
FIG. 3 is a flowchart of a method for generating a diagram of a flow of network data through a telecommunications network and provisioning an aspect of the network in accordance with an implementation of the present disclosure. -
FIG. 4 is an exemplary network flow diagram for use in provisioning an aspect of a telecommunications network in accordance with one implementation of the present disclosure. -
FIG. 5 is a diagram illustrating an example of a computing system which may be used in implementing the present disclosure. - Aspects of the present disclosure are directed to systems and methods for analyzing large and varied network data flows, characterizing the flows, and generating unique and intuitive graphical visualizations of such information. In certain implementations, network flow data is collected from one or more devices within a network. Such information may include, among other things, information regarding ingress and egress devices or networks, amounts of data transmitted using the flow, source and destination devices or networks, and the like. The network flow data may be stored or otherwise made accessible to a computing system configured to generate a network flow diagram for a subnetwork or device of the network for which data is available. Additionally, the computing system may also filter and aggregate the data according to various parameters. In implementations, the processed network flow data may be used to generate and/or execute configuration instructions for one or more devices within a network.
- As noted above, telecommunication networks may be configured to provide a wide range of network-related services. For example and among other things, content providers (publishers) use the components or servers of telecommunications networks to serve all forms of content throughout the world. In order to offload the job of serving some or all of its content, many content providers operate or subscribe to content delivery networks (CDNs). Using a CDN, content can be primarily served from the CDN (e.g., from one or more content servers in the CDN) instead of from the content provider's server(s). Numerous forms of content may be served from the CDN. For example, television shows and movies may be accessed from any number of Web sites, and the shows and movies may be served from the CDN. Print newspapers have migrated to the Web and provide portals through which clients operating some form of computing device (e.g., PC, smart phone, or tablet), with a browser may access numerous forms of content, such as short video clips, articles, images, and audio tracks. Software updates and patches, once provided on disc and mailed to recipients, are now routinely distributed to devices from a CDN through one or more network connections and devices.
- Each service provided by a telecommunications network is associated with a flow of data through the network, typically in the form of data packets. Analyzing, processing, and controlling these data flows through the network may aid a network administrator in the configuration and provisioning of the network components. For example, it is often more efficient and cost effective for a telecommunications network to minimize the distance that a packet is transmitted through the network. Thus, routing a packet received in New York through Los Angeles to a destination or egress in Houston is generally not an efficient routing of the packet, if, for example, a route with fewer hops or directly to Houston is available. Minimizing the logical distance (e.g., number of routers between a source and destination), which is often reflective of a shorter geographic distance, the packet is transmitted through the network may optimize costs, lessen or balance traffic congestion through the network, and have other advantages. However, since some telecommunications networks may process millions of such data flows per day and manage thousands of network devices, efficient and intuitive computerized management tools are required.
- As such, aspects of the present disclosure involve systems, methods, computer program products, and the like, for generating one or more data flow diagrams for use by network engineers or administrators to configure or provision network elements to improve the efficiency and operation of a telecommunications network. In one particular implementation of the present disclosure, a diagrammatic data flow system may receive network flow information, process the network flow information to reduce the volume of information into an understandable quantity of information, and generate a Sankey-like graph or diagram of the network flow information. Further, the diagrammatic data flow system may provide one or more network configuration commands based on the analyzed network flow data to improve the efficiency or cost of the operation of the network. In this manner, the diagrammatic data flow system may receive network flow data for a telecommunications network and process the data into a diagram of network flow data that can be utilized for network configuration.
- As mentioned, telecommunications networks may process several million data flows or routes through the network in any given day. Thus, one particular aspect of the present disclosure provides for filtering of network flow data to provide a visual diagram of a portion of the data flow through the network. In one particular implementation of the present disclosure, such filtering applied by the diagrammatic data flow system may obtain the network flow information of a particular component, gateway, port, or region (known as an “attribute” of the network) of the telecommunications network from the entire network flow data and provide a visual diagram of that portion of the network flow data. Further, network data flows that process a fewer number of data bytes may be collected or gathered together into a single data flow in the diagram of network flows, and in some cases may be removed from the diagram altogether if the bytes of the data flow is measured as below a threshold value. In general, the network flow data may be parsed or manipulated in any manner to provide a more coherent visual diagram of network flow data.
- Further still, the visual diagram of network flow may provide commands or suggestions for improving the operation of the telecommunications network. For example, the diagrammatic data flow system may identify a route between two or more components of the network that does not minimize the distance a communication packet is transmitted. The system may then color the identified route in the network flow diagram with a particular color that indicates the efficiency or cost-effectiveness of the route is not maximized or may be improved. In further examples, the diagrammatic data flow system may create and/or transmit one or more provisioning instructions to components of the network based on the information included in the network flow diagram to improve the efficiency or operation of the network. In this manner, the diagrammatic data flow system may utilize the information obtained or displayed in the network flow diagram to configure aspects of the telecommunications network to increase the operating cost and effectiveness of the network. In still other examples, a network engineer or administrator may utilize information provided in the network flow diagram to provide network configuration instructions or commands.
-
FIG. 1 illustrates a representative telecommunications system 100, which may be or include a CDN, with a diagrammatic dataflow computing system 150. In general, the telecommunications system 100 provides for communicating data across anetwork 102 including for providing one or more network services to network users. More generally, however, the telecommunications system 100 facilitates transmission of network traffic (which may include information, commands, and the like) between devices, services, networks, or any combination thereof. For example, adevice 110 may request content that is stored or otherwise available through thenetwork 102. In one implementation, a customer network, such ascustomer network 142, may connect to thenetwork 102 in several locations or through several access points and a request for services may include providing the service to some or all of the customer's connection points. - The
network 102 includes numerous components such as, but not limited to gateways, routers, and registrars, which enable communication and/or provides services across thenetwork 102, but are not shown or described in detail here because those skilled in the art will readily understand these components. More relevant to this description is the interaction and communication between thenetwork 102 and other entities, such as the one or more customer home or business local area networks (LANs) 106 orcustomer networks 142, where a user of the network will connect with the network. -
Customer network 106 can include communication devices such as, but not limited to, a personal computer, set top box, or other device, connected to a router/firewall 114. Although shown inFIG. 1 ascomputer 110, the communication devices may include any type of communication device that receives a multimedia signal (such as an audio, video, or web-based signal) or receives/transmits data and presents that signal or data for use by a user of the communication device. The communication and networking components of thecustomer network 106 enable a user at thecustomer network 106 to communicate via thenetwork 102 to other communication devices, such as another customer 126 or anothercustomer network 142. Access to the Internet may also be provided through thenetwork 102. Components of thecustomer network 106 are typically home- or business-based, but they can be relocated and may be designed for easy portability. For example, thecommunication device 110 may be wireless (e.g., cellular) telephone, smart phone, tablet or portable laptop computer. In some implementations of the present disclosure, multiple communication devices in diverse locations that are owned or operated by a particular entity or customer may be connected through thenetwork 102. For example,customer network 142 connects to network 102 through twoedge device components customer network 142 connects to the network in various locations. As should be appreciated, thecustomer network 142 may connect to thetelecommunications network 102 through any number of connections. - The
customer network 106 may connect to thenetwork 102 via aborder network 122, such as one provided by an Internet Service Provider (ISP). Theborder network 122 is typically provided and maintained by a business or organization such as a local telephone company or cable company. Theborder network 122 may provide network/communication-related services to their customers. Communication via any of the networks can be wired, wireless, or any combination thereof. - An operator of the
network 102 may configure the network in any manner to facilitate the routing of communications through the network. For example, thenetwork 102 may include a series of interconnected networking devices, such as routers and switches (illustrated inFIG. 1 as “routing device(s)” 140), that receive a communication, analyze the communication to determine a destination, and route the communication to a connected networking device to get the communication closer to a destination or egress point. In another example, therouting devices 140 may include one or more servers or other data storage devices. Such devices may store content that is available to users of thenetwork 102 or provide routing instructions to communication devices connected to the network for accessing such content. To facilitate such communications, routing or transmission paths through thenetwork 102, and in particular between two or more components of the network, provide for the exchange of data packets to provide the services and/or content of the network to the network customers. - As mentioned above, routes or paths through the
network 102 connect two or more devices of the network. These paths define how data may travel or flow through a network as the devices share data and communications. Large telecommunications networks may include several million of such paths that exchange data or communication packets on a daily basis to provide services and content to network users. As should be appreciated, tracking the performance or each path of a network flow may be close to an impossible task for a network administrator. Further, even limiting the view of network flows to a particular component or group of components may not provide an easily understandable picture of the network flows for those components. Thus, a system is provided herein that processes any number of network data flows and generates understandable visual data flow diagrams for use by network engineers or administrators to configure or provision network elements to improve the efficiency and operation of a telecommunications network. The data flow diagrams may be customizable for particular portions of the network as desired to further improve the understanding of the network configuration. -
FIG. 1 is further illustrated as including a diagrammatic dataflow computing system 150. As will be described below in further detail in the context ofFIGS. 2-4 , the diagrammatic dataflow computing system 150 is generally configured to collect network flow data from devices of thenetwork 102, to process such data (e.g., by filtering and/or aggregating the data), and to generate diagrams and visualizations from the data illustrating data flows within thenetwork 102. The processed data and/or diagrams may be accessed by network administrators from the diagrammatic dataflow computing system 150 either directly or through anetwork administration system 152 in communication with the diagrammatic dataflow computing system 150. The diagrammatic dataflow computing system 150 may also be incorporated into a broader network monitoring and administration system, such as any relevant device in a network operational center (NOC). In certain implementations and as further discussed below, the diagrammatic dataflow computing system 150 and/or thenetwork administration system 152 be configured to automatically generate transmit one or more configuration instructions to devices of thenetwork 102 in response to the network flow data collected and processed by the diagrammatic dataflow computing system 150. -
FIG. 2 is a block diagram illustrating acomputing environment 200 for use in generating and presenting diagrammatic representations of network data flows. Theenvironment 200 includes a diagrammatic dataflow computing system 202 for a telecommunications network in accordance with one implementation of the present disclosure and which may generally correspond to the diagrammatic dataflow computing system 150 ofFIG. 1 . Thesystem 202 may include several components or applications for receiving network data flow information, processing the information based on aggregating techniques and/or one or more information filters, and generate a network flow diagram corresponding to the network information. In some instances, thesystem 202 may also generate and/or provide network configuration instructions or commands based on the generated network flow diagram and transmit those instructions to the network or a network administrator for execution. Other components may be present in thesystem 202 although not illustrated inFIG. 2 or discussed herein. - Many telecommunications networks provide network data flow information to network administrators or engineers. For example, components of the
network 102 may be configured to generate and self-report routes, data flows, packets processed, alarms, states, and other operational information to a centralized network operational center (NOC). Multiple systems within the NOC may then process the information in an attempt to determine operational status of the components of the network. In other network configurations, a network flow collector (e.g., a NetFlow collector) may be deployed within or in communication with the network to obtain network data flow information. In one example, the network flow collector may be an application or applications that requests operational and data flow information from components of thenetwork 102 on a continual basis. This may include both self-reporting and requests for operational information from the components. The collected network data flow information may then be stored as networkflow collector data 210 and made available to the diagrammatic networkflow computing system 202. Through the network flow collector and/or NOC, at least some aspect of the flow of communications and data through thenetwork 102 may be obtained and provided to the diagrammatic networkflow computing system 202. -
Additional network information 210 may also be available to the diagrammatic networkflow computing system 202. For example, routing tables for routing information between components of thenetwork 102 may be gathered and stored in thenetwork information database 210. Such information may be obtained through Border Gateway Protocol (BGP) and Interior Gateway Protocol (IGP) announcement sessions between components of the network. Other network information, such as port assignments, transmission line information, and Internet Protocol (IP) address or other component identifying information may also be stored in thenetwork information database 210. In general, any network information pertaining to any number of flows of data through thenetwork 102 may be obtained by the network flow collector and stored in the networkflow collector data 208 or stored in thenetwork information database 210 for use by the diagrammatic networkflow computing system 202 ofFIG. 2 . - The information provided through the network flow collector or within the
network information database 210 is typically in a text-based format. In general, dataflow information received from (or obtained by the network flow collector) any component of the network may include text information for any aspect of the data flow. For example, data flow information from an ingress device of thenetwork 102 may include an entry for ingress region, ingress country, ingress state, ingress city, ingress gateway, ingress router, and ingress interface for each data flow. Egress information may also be obtained, such as an entry for egress region, egress country, egress state, egress city, egress gateway, egress router, and egress interface. Other information of data flows, such as ingress Autonomous Service Network (ASN), egress ASN, source device ASN, destination device ASN, and the number of data bytes transmitted for each data flow between devices of the network, may also be collected. Data flow information for a particular device of thenetwork 102 may be obtained through analysis of network configuration (such as through network information database 210), such as the ingress and egress region, country, state, city, gateway, etc. Other data flow information, such as ingress ASN, egress ASN, source device ASN, etc. may be obtained through an analysis of a received communication at the device. Such information may be included in metadata or other signaling information included in the communication. Further, the components of thenetwork 102 may track or store an amount of data (measured in bytes, in some instances) transmitted from the component to other components in the network and provide such information to a database of the network upon receiving a request for such information. Through the combination of network information sources, the diagrammatic dataflow computing system 202 may obtain or receive any data flow information for the transmission of data through thetelecommunications network 102. - Once network flow data is obtained or received, the diagrammatic data
flow computing system 202 may execute one or more applications to process the data, generate a diagram of network data flow, and/or configure one or more components of the network according to the network data flow diagram. For example, and explained in more detail below, the diagrammatic dataflow computing system 202 may execute a network flow filtering application. The filtering application may apply one or more filters to the network flow data to reduce the amount of information included in a network flow diagram and enhance the display of the information shown. In one implementation, the type of data filter applied to the network flow data may be based on an input received at the diagrammatic dataflow computing system 202 from a user interface 220. More particularly, a user interface 220 may be in communication with the diagrammatic dataflow computing system 202. A user of the diagrammatic data flow computing system 202 (such as a network administrator) may utilize the user interface 220 to provide inputs to the applications of the diagrammatic data flow computing system. For example, a user may select a particular device of thenetwork 102 for which to view data flows through the particular device in a network flow diagram. Thefiltering application 212 may then isolate or identify the portion of the received network flow information that corresponds to the received component selection for inclusion in a network flow diagram. - In general, any aspect of the network data flow information may be selected as a filter. For example, a user may filter the network data flow information based on particular components, particular regions, particular gateways, particular ASNs, and the like. Further, more than one filter may be applied to the network data flow information by the
filtering application 212. For example, the user may provide several filtering inputs to the user interface 220 to further refine the desired network flow data to be included in the network flow diagram. In this manner, the millions of network data flows for thetelecommunications network 102 may be reduced so that the network flow diagram is tailored for use by thesystem 202 or a network administrator. - Another application that may be included in the diagrammatic data
flow computing system 202 is a networkflow aggregating application 204. The aggregatingapplication 204, in general, aggregates particular network data flows of a subset of the network data flow information (which may be but is not necessarily a proper subset of the network data flow information) per attribute of the network data flows. For example, even after the application of one or more filters to the network flow data, several thousand data flows may be still remain in the network flow data to be illustrated in the network flow diagram. To improve the understanding of the network flow diagram, certain data flows may be combined prior to generating the diagram. The aggregated network data flows may be data flows that are smaller in size (based on number of bytes of the data flow) relative to the other data flows in the subset of network flow information. This may act to reduce the number of data flows included in the network flow diagram. In one particular implementation of the present disclosure, such data flows may be gathered into a collected network data flow and labeled as “other” or “miscellaneous” such that the network flows are included in the network flow diagram, but are not represented individually within the diagram. Such aggregation may be executed for any attribute of the network data flows to reduce the information illustrated in the corresponding network flow diagram. - In other instances, aggregation of network data flow information may be based on other aspects of the network flow information and a new data point may be created in the network flow data. For example, a
particular telecommunications network 102 may include several gateways or ingress devices in a particular metro area. Such devices may be aggregated together as a single metro area and a new data point for “ingress metro” may be created and added to the network flow information. The created attribute may also be stored in thenetwork information database 210 or the network flow collector information for use by the diagrammatic dataflow computing system 202. Other attributes for the network data flow information may be created by the aggregatingapplication 204 and included in the network flow data and/or the network flow diagram. - The diagrammatic data
flow computing system 202 may utilize the filtered and aggregated network flow information to create a network flow diagram and display the generated diagram on a display (such as through the user interface 220 discussed above). One example of a network flow diagram for a particular ingress component of thetelecommunications network 102 is illustrated inFIG. 4 and discussed in more detail below. Although a particular implementation is illustrated inFIG. 4 , it should be appreciated that other visual representations or diagrams may be generated by the diagrammatic dataflow computing system 202. Through the diagram, a visual representation of network data flows may be provided to the user of the user interface 220 or other applications of the diagrammatic dataflow computing system 202. - In addition, the diagrammatic data
flow computing system 202 may also include anetwork configuration application 214. In general, thenetwork configuration application 214 analyzes a network flow diagram and generates one or more network commands to configure aspects of the telecommunications network. Through the analysis, thenetwork configuration application 214 may determine one or more inefficiencies or redundancies in network data flow between the components included in the diagram. Thenetwork configuration application 214 may then generate and transmit one or more configuration instructions to network components to address the determined inefficiencies. In another implementation, thenetwork configuration application 214 may generate an alert or alarm to a network administrator, such as through a message on the user interface 220 or an electronic mail sent to a network administrator e-mail address. The alert may include suggestions for network configurations to address the determined network inefficiency. In still other instances, an alert displayed on the user interface 220 to a user of thesystem 202 may provide configuration instructions that may be selectable by the user to configure the network accordingly. In general, any configuration of the network may be made in response to the network flow diagram generated by the diagrammatic dataflow computing system 202. - To diagram the network flow data of a
telecommunications network 102, the diagrammatic data flow computing system 202 (and corresponding applications) may perform particular operations. In particular,FIG. 3 is a flowchart of amethod 300 for generating a diagram of a flow of network data through a telecommunications network and provisioning an aspect of the network in accordance with one implementation of the present disclosure. The operations of themethod 300 may be performed by any component of the diagrammatic dataflow computing system 202, such as the applications of the system discussed above. As such, the operations may be executed through a hardware component of the diagrammatic dataflow computing system 202, through one or more programs of the system, or any combination of hardware and software components. - Beginning in
operation 302, the diagrammatic dataflow computing system 202 receives network data flow information from thenetwork 102. As described above, the network data flow information may be obtained from anetwork database 210, network flow collector data 208 (e.g., as obtained from a network flow collector deployed in the network 102), and/or from one or more components of the network itself. The network data flow information may include any aspect of the flow of data or communications through thenetwork 102, including ingress information, egress information, and the number of bytes transmitted between devices within the network. In one particular implementation, the bytes of data transmitted through a particular data flow may be obtained daily from thenetwork 102 for use in generating a network data flow diagram. - In
operation 304, the diagrammatic dataflow computing system 202 may join subsets of the network data flow information together to form new data flow sets or attributes. For example, thesystem 202 may combine data flows from several related ingress devices if such devices are located within the same metro area. A new attribute may then be created by thesystem 202 for those identified data flows that contain the joined network data flow information. Extending the above example, each network data flow set of information that is included in the same metro area may be modified by thesystem 202 to add a new attribute that identifies the shared metro, such as an “ingress metro” attribute. Other shared aspects of network data flows may be identified and new attributes added to the network data flow information corresponding to the shared aspect may be added by thesystem 202. - In addition, network data flows that share attributes may be combined by the diagrammatic data
flow computing system 202. For example, a data flow may include information for a particular communication session between two or more components of thenetwork 102. However, at a later time, an additional communication session may occur between the same two components of thenetwork 102. Thus, thesystem 202 in this circumstance may identify that the aspects of the network flow data are the same from the first session and the second session and combine the transmitted data bytes from the sessions into a single data flow. In this manner, the diagrammatic dataflow computing system 202 may reduce or combine similar network data flows from the received data flow information. - One or more filtering criteria for limiting the network flow information that is included in the diagram may be received at the diagrammatic data
flow computing system 202 inoperation 306. In one particular implementation of the present disclosure, the filtering criterion is received through a user interface 220 in communication with the diagrammatic dataflow computing system 202. Through the user interface 220, a user (such as a network administrator) may provide inputs or otherwise identify particular attributes of a subset of network data flows to limit the number and type of data flows to be diagrammed. For example, a user may indicate a particular ingress gateway in the user interface 220 when attempting to view the network data flow associated with that ingress gateway. Other filtering criteria may also be provided in addition to or separate from the ingress gateway, such as an egress gateway, an ingress network, an egress network, an ingress ASN, an egress ASN, whether the network data flows are a part of a CDN (such as may be indicated by a CDN identifier), etc. In general, any attribute of network data flow information discussed above may be identified as a filtering criteria by the user interface 220 and applied to generate a subset of the overall network data flow information. An example of a filter that limits the network data flow information to a particular ingress router device is used through the remainder of the description of themethod 300 ofFIG. 3 and the network flow diagram 400 ofFIG. 4 . It should be appreciated, however, that any attribute of the received network data flow may be received and applied to the network data flow information to obtain the particular data flow information illustrated in the diagram discussed below. - In
operation 308, the diagrammatic dataflow computing system 202 may filter the complete network data flow information utilizing the received filter information to generate a subset of the network data flow information for diagramming. Inoperation 310, the subset of network data flow information may further be reduced or aggregated based on the attributes of the subset of network data flow information. For example, the diagrammatic dataflow computing system 202 may include a limit on the number of data flows that are illustrated in a particular network data flow diagram. The limit of data flows may be set by the system or may be based on an input provided to the system through the user interface 220. In one particular implementation, the number of data flows illustrated in a diagram may be limited to twenty-five data flows to ensure that the diagram is not over-crowded with illustrated data flows. Thus, the diagrammatic dataflow computing system 202 may aggregate some of the subset of network data flows into an “other” or “miscellaneous” collection of network flows when those data flows fall below a particular threshold value. - In one particular example, the diagrammatic data
flow computing system 202 may rank the network data flows in the filtered subset of network data flows by number of bytes transmitted over a period of time, such as over the previous 24 hours. As mentioned above, each network data flow entry may include a number of bytes transmitted over the period of time. Thus, the diagrammatic dataflow computing system 202 may rank each network flow based on the number of processed bytes of data. Further, thesystem 202 may then combine or aggregate information for those network data flows that are below the limit of data flows to be included in the diagram. For example, the network data flows with a number of bytes of transmitted data below the first twenty-five data flows may be combined into a single network data flow for inclusion in the data flow diagram. - To aggregate data flows, certain attributes of a data flow may be altered within the network data information to indicate the aggregation. For example, if a subset of the network data flows is filtered based on ingress gateway, those network data flows that fall below the threshold may have an ingress gateway entry in the data flow information altered to a generic entry, such as “other” or “miscellaneous”. In this manner, separate data flows may be combined under a generic attribute. Further, aggregation of network data flows may also occur after alteration to the network data flow information. For example and as mentioned above, data flows with the same attributes may be combined into a single data flow by the diagrammatic data
flow computing system 202, such as data flows that occur along the same route through the network but occur at different times. These similar data flows may be combined by the diagrammatic dataflow computing system 202 to create a data flow for that particular day along the route described in the data flow attributes. Thus, after a particular attribute of the subset of network data flows is altered or changed to the generic entry (i.e., “other” or “miscellaneous”), more data flows may have similar attributes and can be combined by the system. For example, two data flows may have the same attribute values but different egress gateways values. If the egress gateway values are generalized to a generic value as described above, the two data flows may then have the same attributes along the entire route through the network and may therefore be combined into a single data flow. In this manner, re-aggregation of network data flows may occur within the network data flow information after one or more data flow attributes have been altered. Further, this re-aggregation process may occur through an iterative process after any change or generalization of the network data flow information. - Once the network data flow information has been filtered and aggregated, the diagrammatic data
flow computing system 202 may then generate a network data flow diagram inoperation 312. One particular example of a network data flow diagram 400 is illustrated inFIG. 4 . Although a description of the network flow diagram 400 ofFIG. 4 is provided herein, it should be appreciated that the diagram of the network data flow information may take any form of known or hereafter developed diagrams. The network flow data illustrated in the diagram 400 includes data transmitted through a telecommunications network that is filtered and/or aggregated as described above. In particular, the illustrated network flow data of the diagram 400 is filtered for a particular ingress gateway device of the network such that the diagram illustrates all data flows through that particular ingress gateway device over a 24-hour period. Attributes of the collected network data flows are illustrated, including ingress ASN, egress gateway, egress ASN, destination ASN, and total transmitted bytes for each data flow over the 24-hour period. Other diagrams of network data flows may illustrate other attributes over a longer or shorter period of time. In general, any values included in the collected network data flow for the telecommunications network may be illustrated in the diagram 400 in some manner. - The network flow information of the diagram 400 of
FIG. 4 is presented as a Sankey-type diagram. Other types of diagrams may also be utilized by the diagrammatic dataflow computing system 202 to illustrate the network flow data. In the diagram 400 ofFIG. 4 , each data flow measured for aparticular ingress gateway 402 to thenetwork 102 is shown. In general, the ingress gateway is illustrated in the diagram 400 asbar 402. Further, the overall size of the bar (or any bar or data flow illustrated in the diagram 400) is relative to the number of data bytes transmitted through the bar in the given time period of the network data information. For example, the height ofingress gateway 402 may correspond to a number of data bytes transmitted through that gateway in the previous 24-hour period. In another implementation, a user of the diagrammatic dataflow computing system 202 may provide a beginning and ending time to define a time period as a network data flow filter. Other components of the diagram 400 (such as the height of other bars 408-412 or data flows 406) may also correspond to a number of data bytes for those particular components. - To create the diagram 400 of
FIG. 4 , a user of the diagrammatic dataflow computing system 202 provides a filter to the system that limits the network data flow information to the ingress gateway. For example, if the user chooses to filter the network data flow information based on theingress gateway 402, the data flows illustrated in the diagram 400 (e.g., as a colored or shaded flow from left to right through the diagram) will be limited to those that transmit through theingress gateway 402. In one implementation of the present disclosure, eachdata flow 406 is of a unique color to differentiate one network flow from another. In another implementation of the present disclosure, eachdata flow 406 is shaded to provide differentiation between the flows. As mentioned, the size or height of eachdata flow 406 may correspond to a data bytes of the network flow included in the network flow information. In one particular implementation, the color or shade of thenetwork data flow 406 may be based on thedestination ASN 412 for each data flow. In other words, data flows terminating atdestination ASN A 414 may be a different color or shade than data flows terminating atdestination ASN B 416. Further, in some implementations, the data bytes associated with any one data flow may be display within the diagram 400. For example, a user of the user interface 220 may select a particular data flow through an input device to a computer executing the user interface and information about the selected data flow may be provided in the diagram 400, such as a number of processed bytes associated with the data flow. - The diagram 400 of
FIG. 4 illustrates aningress ASN 404 from which each of the data flows for theingress gateway 402 is received at thenetwork 102. Similar to other aspects of the diagram 400, theingress ASNs 404 for the data flows are illustrated as a colored or shaded box with a label (potentially identifying a geographic location of the ASN) and a relative height associated with the size of the data flows originating from theingress ASN 404. As shown, some of theingress ASNs 404 may be associated with more than one data flow, as illustrated by the multiple colored or differently shaded data flows originating from the ingress ASNs. In a similar manner, the network flow diagram 400 illustratesegress gateways 408 from thetelecommunications network 102 from which the network flows exit the network.Egress ASNs 410 for each network data flow anddestination ASNs 412 are also illustrated. It should be appreciated that more or fewer attributes of the network flow information may also be included in the diagram 400 based on the filtering information applied to the network data flow information. For example, ingress metro, ingress region, egress city, egress country, etc. may be included in the diagram for the network flows in a similar manner as the ingress ASN, ingress gateway, egress ASN, egress gateway, etc. Further, each value in the network flow attributes that are illustrated may be labeled within the diagram 400 to provide identifiable information to a viewer of the diagram. - Through the network flow diagram 400, an understanding of data flows through components of the telecommunications network may be obtained. For example, a system or viewer receiving the diagram 400 may visually follow a data flow from an ingress ASN through the network to a destination ASN. Further, because each data flow is uniquely colored or shaded, the system or viewer may track the data flow through the components of the
network 102. As explained in more detail below, this information may be utilized by a network or a network administrator to configure one or more components of thetelecommunications network 102 in response to the network data flow information illustrated in the diagram 400. - To configure the
telecommunications network 102 in response to the information in the network flow diagram 400, the diagrammatic dataflow computing system 202 may provide the network flow diagram to the user interface 220 in communication with the system. In one particular example and returning to themethod 300 ofFIG. 3 , the diagram 400 may be displayed on a display device of the user interface 220 inoperation 314. A network administrator may view the diagram 400 on the display device to gain an understanding of the operation of at least a portion of thetelecommunications network 102. In an alternate implementation, the diagrammatic dataflow computing system 202 may analyze the diagram 400 to determine attributes or features of the illustrated data flows without necessarily displaying the diagram on a display device. In other words, the diagrammatic dataflow computing system 202 may process the network data flow information into a diagram through which the system can analyze the information and determine an operation of the network. Regardless of whether the diagram 400 is displayed on a display device or user interface or analyzed by a system, the network flow information contained within the diagram may be utilized to configure or alter a configuration of a telecommunications network in response. - In particular, the diagrammatic data
flow computing system 202 in operation 316 may analyze the information included in the network flow diagram 400 to determine an operation of thetelecommunications network 102. For example, thesystem 202 may determine that a network data flow is transmitted through thenetwork 102 in an inefficient manner, such as being transmitted from one continent to another and back before egressing from the network. Other inefficiencies may also be determined, such as transmission between various components of thenetwork 102 before egressing from the network when a single network flow to a particular egress component may connect the data flow to the egress ASN. In general, any analysis of the network data flows within the diagram 400 may be conducted by thesystem 202 to determine an operation of thenetwork 102 to identify one or more inefficiencies within the network. Further, the network flows in the diagram 400 may be measured against a particular performance threshold value to identify the inefficiency. For example, a measured geographic distance of a network flow may be compared against a maximum threshold distance value by thesystem 202. If the measured or estimated network flow distance exceeds the threshold performance value, the network flow within the diagram 400 may be identified as inefficient and a candidate for alteration by the system. - Further, the diagrammatic data
flow computing system 202 may also generate and transmit one or more configuration instructions to components of thenetwork 102 to configure the transmission of data through the network in response to the analysis of the network data flow diagram 400. For example, when an inefficiency in the transmission of data through thenetwork 102 is determined, thesystem 202 may identify a more efficient (e.g., shorter or underutilized) transmission path through the network and configure the components of the network included in the new transmission path to accept and transmit the re-directed data flow. Such configuration of thenetwork 102 may include providing instructions to one or more components of thenetwork 102 to create a new data flow through the network when the instructions are executed by the receiving network components. In another implementation of the present disclosure, a network engineer or designer may utilize the information included in the network data flow diagram 400 to identify inefficiencies in the network configuration and transmit configuration instructions to components of thenetwork 102 to create a new data flow route through the network. Regardless of the implementation, the data flow information included in the network flow diagram 400 may be utilized to configure one or more components of thetelecommunications network 102 to alter or create a data flow through the network. - Through the systems and methods described above, a
telecommunications network 102 may generate one or more visual data flow diagrams of network data flows through the telecommunications network. Such diagrams may be utilized by network engineers or administrators to configure or provision network elements to improve the efficiency and operation of a telecommunications network. In one particular implementation of the present disclosure, a diagrammatic data flow system may receive network flow information, process the network flow information to reduce the volume of information into an understandable quantity of information, and generate a Sankey-like graph or diagram of the network flow information. Further, the diagrammatic data flow system may provide one or more network configuration commands based on the analyzed network flow data to improve the efficiency or cost of the operation of the network. In this manner, the diagrammatic data flow system may receive network flow data for a telecommunications network and process the data into a diagram of network flow data that can be utilized for network configuration. -
FIG. 5 is a block diagram illustrating an example of a computing device orcomputer system 500 which may be used in implementing aspects of the systems and methods disclosed herein. For example, thecomputing system 500 ofFIG. 5 may be the diagrammatic dataflow computing system 202 discussed above. The computer system (system) includes one or more processors 502-506. Processors 502-506 may include one or more internal levels of cache (not shown) and a bus controller or bus interface unit to direct interaction with theprocessor bus 512.Processor bus 512, also known as the host bus or the front side bus, may be used to couple the processors 502-506 with thesystem interface 514.System interface 514 may be connected to theprocessor bus 512 to interface other components of thesystem 500 with theprocessor bus 512. For example,system interface 514 may include amemory controller 518 for interfacing amain memory 516 with theprocessor bus 512. Themain memory 516 typically includes one or more memory cards and a control circuit (not shown).System interface 514 may also include an input/output (I/O)interface 520 to interface one or more I/O bridges or I/O devices with theprocessor bus 512. One or more I/O controllers and/or I/O devices may be connected with the I/O bus 526, such as I/O controller 528 and I/O device 530, as illustrated. Thesystem interface 514 may further include abus controller 522 to interact withprocessor bus 512 and/or I/O bus 526. - 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 asmain memory 516, or a random access memory (RAM) or other computer-readable devices coupled to theprocessor 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 theprocessor bus 512 for storing static information and instructions for the processors 502-506. The system set forth inFIG. 5 is but one possible example of a computer system that may employ or be configured in accordance with aspects of the present disclosure. - According to one implementation of the present disclosure, the above techniques may be performed by
computer system 500 in response toprocessor 504 executing one or more sequences of one or more instructions contained inmain memory 516. These instructions may be read intomain memory 516 from another machine-readable medium, such as a storage device. Execution of the sequences of instructions contained inmain memory 516 may cause processors 502-506 to perform the process steps described herein. In alternative implementations, circuitry may be used in place of or in combination with the software instructions. Thus, implementations 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. Non-volatile media includes optical or magnetic disks. Volatile media includes dynamic memory, such as
main memory 516. Common forms of machine-readable medium may include, but is not limited to, magnetic storage medium; optical storage medium (e.g., CD-ROM); magneto-optical storage medium; read only memory (ROM); random access memory (RAM); erasable programmable memory (e.g., EPROM and EEPROM); flash memory; or other types of medium suitable for storing electronic instructions. - Implementations 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.
- The description above includes example systems, methods, techniques, instruction sequences, and/or computer program products that embody techniques of the present disclosure. However, it is understood that the described disclosure may be practiced without these specific details. In the present disclosure, the methods disclosed may be implemented as sets of instructions or software readable by a device. Further, it is understood that the specific order or hierarchy of steps in the methods disclosed are instances of example approaches. Based upon design preferences, it is understood that the specific order or hierarchy of steps in the method can be rearranged while remaining within the disclosed subject matter. The accompanying method claims present elements of the various steps in a sample order, and are not necessarily meant to be limited to the specific order or hierarchy presented.
- It is believed that the present disclosure and many of its attendant advantages should be understood by the foregoing description, and it should be apparent that various changes may be made in the form, construction, and arrangement of the components without departing from the disclosed subject matter or without sacrificing all of its material advantages. The form described is merely explanatory, and it is the intention of the following claims to encompass and include such changes.
- While the present disclosure has been described with reference to various implementations, it should be understood that these implementations are illustrative and that the scope of the disclosure is not limited to them. Many variations, modifications, additions, and improvements are possible. More generally, implementations in accordance with the present disclosure have been described in the context of particular implementations. Functionality may be separated or combined in blocks differently in various implementations of the disclosure or described with different terminology. These and other variations, modifications, additions, and improvements may fall within the scope of the disclosure as defined in the claims that follow.
Claims (20)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/076,010 US20210036938A1 (en) | 2018-04-09 | 2020-10-21 | Data flow in telecommunications networks using network flow diagrams and associated data |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862654937P | 2018-04-09 | 2018-04-09 | |
US16/378,247 US10819595B2 (en) | 2018-04-09 | 2019-04-08 | Data flow in telecommunications networks using network flow diagrams and associated data |
US17/076,010 US20210036938A1 (en) | 2018-04-09 | 2020-10-21 | Data flow in telecommunications networks using network flow diagrams and associated data |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/378,247 Continuation US10819595B2 (en) | 2018-04-09 | 2019-04-08 | Data flow in telecommunications networks using network flow diagrams and associated data |
Publications (1)
Publication Number | Publication Date |
---|---|
US20210036938A1 true US20210036938A1 (en) | 2021-02-04 |
Family
ID=68293016
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/378,247 Active 2039-07-18 US10819595B2 (en) | 2018-04-09 | 2019-04-08 | Data flow in telecommunications networks using network flow diagrams and associated data |
US17/076,010 Abandoned US20210036938A1 (en) | 2018-04-09 | 2020-10-21 | Data flow in telecommunications networks using network flow diagrams and associated data |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/378,247 Active 2039-07-18 US10819595B2 (en) | 2018-04-09 | 2019-04-08 | Data flow in telecommunications networks using network flow diagrams and associated data |
Country Status (1)
Country | Link |
---|---|
US (2) | US10819595B2 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12058015B2 (en) * | 2016-10-21 | 2024-08-06 | Forward Networks, Inc. | Systems and methods for an interactive network analysis platform |
US10819595B2 (en) * | 2018-04-09 | 2020-10-27 | Level 3 Communications, Llc | Data flow in telecommunications networks using network flow diagrams and associated data |
US11323374B2 (en) * | 2019-09-25 | 2022-05-03 | Juniper Networks, Inc. | Visualizing network traffic plans based on egress peer engineering |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150120959A1 (en) * | 2013-10-29 | 2015-04-30 | Solana Networks Inc. | Method and system for monitoring and analysis of network traffic flows |
US10819595B2 (en) * | 2018-04-09 | 2020-10-27 | Level 3 Communications, Llc | Data flow in telecommunications networks using network flow diagrams and associated data |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120026914A1 (en) * | 2010-07-28 | 2012-02-02 | Swapnesh Banerjee | Analyzing Network Activity by Presenting Topology Information with Application Traffic Quantity |
US10142353B2 (en) * | 2015-06-05 | 2018-11-27 | Cisco Technology, Inc. | System for monitoring and managing datacenters |
-
2019
- 2019-04-08 US US16/378,247 patent/US10819595B2/en active Active
-
2020
- 2020-10-21 US US17/076,010 patent/US20210036938A1/en not_active Abandoned
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150120959A1 (en) * | 2013-10-29 | 2015-04-30 | Solana Networks Inc. | Method and system for monitoring and analysis of network traffic flows |
US10819595B2 (en) * | 2018-04-09 | 2020-10-27 | Level 3 Communications, Llc | Data flow in telecommunications networks using network flow diagrams and associated data |
Also Published As
Publication number | Publication date |
---|---|
US10819595B2 (en) | 2020-10-27 |
US20190334791A1 (en) | 2019-10-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10742556B2 (en) | Tactical traffic engineering based on segment routing policies | |
CN115380514B (en) | Automatic deployment of network elements for heterogeneous computing elements | |
US20210036938A1 (en) | Data flow in telecommunications networks using network flow diagrams and associated data | |
US11477127B2 (en) | Methods and apparatus for application aware hub clustering techniques for a hyper scale SD-WAN | |
US10884780B2 (en) | Architecture of networks with middleboxes | |
Feldmann et al. | IP network configuration for intradomain traffic engineering | |
KR102364712B1 (en) | A system and method for integrated service orchestration in distributed cloud envronment | |
US20190379747A1 (en) | Private service endpoints in isolated virtual networks | |
US9548874B2 (en) | Selecting a content delivery network | |
US11924058B2 (en) | Extensible analytics and recommendation engine for network traffic data | |
MX2010006846A (en) | Method for configuring acls on network device based on flow information. | |
US20080181219A1 (en) | Detecting and identifying connectivity in a network | |
CN105227341A (en) | For the system and method by content center network management devices | |
EP3855682A1 (en) | System and method for providing scalable flow monitoring in a data center fabric | |
US20200351167A1 (en) | Runtime monitoring in intent-based networking | |
US9166878B1 (en) | Network management configuration for retrieving and aggregating status information from resources distributed across a network | |
US20020136204A1 (en) | Method and system for routing network traffic based upon application information | |
EP1906590B1 (en) | System and method for network analysis | |
AU2018204247B2 (en) | Architecture of networks with middleboxes | |
US20240031296A1 (en) | Modifying an sd-wan based on flow metrics | |
US11032138B2 (en) | Managing traffic control in a network mitigating DDOS | |
Lee et al. | Auto-scaling mechanism in the ICT converged cross stratum orchestration architecture for zero-touch service and network management | |
CN117178259A (en) | Allocating additional bandwidth to resources in a data center through deployment of dedicated gateways | |
Ing | TRAFFIC PRIORITY MAXIMIZATION IN POLICY ENABLED TREE BASED DATA CENTERS _ A Thesis Presented | |
WO2024019853A1 (en) | Method for modifying an sd-wan using metric-based heat maps |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: LEVEL 3 COMMUNICATIONS, LLC, COLORADO Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:HOPKINS, WILLIAM;REEL/FRAME:054158/0557 Effective date: 20190329 |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: APPLICATION DISPATCHED FROM PREEXAM, NOT YET DOCKETED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION MAILED |
|
STCV | Information on status: appeal procedure |
Free format text: EXAMINER'S ANSWER TO APPEAL BRIEF MAILED |
|
STCV | Information on status: appeal procedure |
Free format text: ON APPEAL -- AWAITING DECISION BY THE BOARD OF APPEALS |
|
STCV | Information on status: appeal procedure |
Free format text: BOARD OF APPEALS DECISION RENDERED |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- AFTER EXAMINER'S ANSWER OR BOARD OF APPEALS DECISION |