US20160197818A1 - Data flow path determination - Google Patents
Data flow path determination Download PDFInfo
- Publication number
- US20160197818A1 US20160197818A1 US15/070,246 US201615070246A US2016197818A1 US 20160197818 A1 US20160197818 A1 US 20160197818A1 US 201615070246 A US201615070246 A US 201615070246A US 2016197818 A1 US2016197818 A1 US 2016197818A1
- Authority
- US
- United States
- Prior art keywords
- data flow
- flow path
- network
- node
- user
- 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
- 238000000034 method Methods 0.000 claims abstract description 25
- 238000012544 monitoring process Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 11
- 235000008694 Humulus lupulus Nutrition 0.000 claims description 9
- 238000013507 mapping Methods 0.000 claims description 9
- 238000004891 communication Methods 0.000 claims description 7
- 230000006855 networking Effects 0.000 claims description 7
- 238000013500 data storage Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 12
- 238000012546 transfer Methods 0.000 description 12
- 238000012545 processing Methods 0.000 description 7
- 230000002093 peripheral effect Effects 0.000 description 5
- 238000012550 audit Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000001010 compromised effect Effects 0.000 description 2
- 230000003292 diminished effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000002955 isolation Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- 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/12—Shortest path evaluation
- H04L45/122—Shortest path evaluation by minimising distances, e.g. by selecting a route with minimum of number of hops
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/22—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks comprising specially adapted graphical user interfaces [GUI]
-
- 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/10—Active monitoring, e.g. heartbeat, ping or trace-route
-
- 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/14—Routing performance; Theoretical aspects
-
- 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/38—Flow based routing
-
- 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/2475—Traffic characterised by specific attributes, e.g. priority or QoS for supporting traffic characterised by the type of applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/40—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
Definitions
- a software-defined networking (SDN) manager in a network builds a path through the network to allow a number of devices to connect with other devices within the network. Once the SDN manager builds a path through the network, the SDN manager makes decisions about where network traffic is sent by instructing switches within the network to forward packets of data traveling across the network between the devices. As a result, the devices are connected to the other devices.
- SDN software-defined networking
- FIG. 1 is a block diagram of a software-defined network (SDN) manager, according to one example of the principles described herein.
- SDN software-defined network
- FIG. 2 is a block diagram of a network managed by the SDN manager of FIG. 1 , according to one example of the principles described herein.
- FIG. 3 is a block diagram of a service flow graphical user interface (GUI) displayed on a display device of the SDN manager of FIG. 1 , according to one example of the principles described herein.
- GUI service flow graphical user interface
- FIG. 4 is a block diagram of a topology GUI displayed on a display device of the SDN manager of FIG. 1 , according to one example of the principles described herein.
- FIG. 5 is a flow chart showing a method determining a number of data flow paths within a computing network using an SDN manager, according to one example of the principles described herein.
- FIG. 6 is a flow chart showing a method determining a number of data flow paths within a computing network using an SDN manager, according to another example of the principles described herein.
- SDN networks utilize applications tied to a controller within a network to program data flows through the network.
- the applications utilize application program interfaces (APIs) and other interfaces to communicate with the controller.
- APIs application program interfaces
- network environments that do not have developers that can utilize the programmatic interface of the controller.
- the present SDN manager in relation to the above, abstracts the programmatic interface of the controller, and provides a number of graphical user interfaces (GUIs) to program the controller and create network paths within the network.
- GUIs graphical user interfaces
- the SDN manager builds a path through a network, and makes decisions about where and how network traffic is sent by instructing switches or other computing devices within the network to forward packets of data traveling across the network between the nodes within the network.
- a user may desire an optimized data transfer path to be built by the SDN manager in order to provide for a desired or required bandwidth within that data transfer path.
- a user may desire a shortest data flow path with the least amount of hops between two nodes.
- the present SDN manager provides for the creation of data flow paths within the network based on a user-desired or user-selected data flow path goal.
- node is meant to be understood broadly as any interconnection point within a computer network.
- a node may be a possessing device, a controller, a core, a switch, a router, a server device, client devices, printers, or a computing device, among may other types of hardware devices within the network, and combinations thereof.
- a number of or similar language is meant to be understood broadly as any positive number comprising 1 to infinity; zero not being a number, but the absence of a number.
- FIG. 1 is a block diagram of a software-defined network (SDN) manager, according to one example of the principles described herein.
- the SDN manager ( 100 ) may be implemented in an electronic device. Examples of electronic devices include servers, desktop computers, laptop computers, personal digital assistants (PDAs), mobile devices, smartphones, gaming systems, and tablets, among other electronic devices.
- PDAs personal digital assistants
- the SDN manager ( 100 ) enables network architects or other users to design and create end-to-end paths through a SDN domain using a map of the topology of the network.
- the map of the topology is displayed to the user via a number of graphical user interfaces (GUIs).
- GUIs graphical user interfaces
- the paths created using the SDN manager ( 100 ) is achieved through the GUIs provided by the SDN manager ( 100 ).
- Each path displayed within the GUI of the mapped topology represents a data path in hardware from two or more nodes in the SDN domain.
- data flow paths may be manually created by selecting, via the GUIs, nodes from the topology map.
- data flow paths may be automatically created by the SDN manager ( 100 ).
- the SDN manager ( 100 ) selects two end nodes from the topology map.
- the SDN manager ( 100 ) selects the two end nodes based on user input.
- the user selects the end nodes via the GUIs.
- the GUI displays to the user an option of choosing an “optimized data flow path” or a “shortest data flow path.”
- An optimized data flow path is defined by a data flow path within the network with the most bandwidth available.
- a shortest data flow path is defined by a data flow path within the network with the fewest hops between the two selected end nodes.
- the paths may be automatically and continuously monitored. This monitoring may be performed to audit security within the network and the hardware devices. Monitoring may also be used to ensure isolation of a data flow path through the network. In most cases, a data flow path may not overlap or intersect another data flow path. If data flow paths were permitted to overlap or intersect, data integrity may be compromised and result in a voiding of multi-tenancy requirements where two individual tenants are not allowed to accesses another tenant's data flows through the network. Monitoring may also be performed to ensure that service level agreements (SLAs) are being met, and to ensure that overall infrastructure capacity loading is being accomplished.
- SLAs service level agreements
- the SDN manager ( 100 ) may be utilized in any data processing scenario including, stand-alone hardware, mobile applications, through a computing network, or combinations thereof. Further, the SDN manager ( 100 ) may be used in a computing network, a public cloud network, a private cloud network, a hybrid cloud network, other forms of networks, or combinations thereof. In one example, the methods provided by the SDN manager ( 100 ) are provided as a service over a network by, for example, a third party.
- the service may comprise, for example, the following: a Software as a Service (SaaS) hosting a number of applications; a Platform as a Service (PaaS) hosting a computing platform comprising, for example, operating systems, hardware, and storage, among others; an Infrastructure as a Service (IaaS) hosting equipment such as, for example, servers, storage components, network, and components, among others; application program interface (API) as a service (APIaaS), other forms of network services, or combinations thereof.
- SaaS Software as a Service
- PaaS Platform as a Service
- IaaS Infrastructure as a Service
- APIaaS application program interface
- the present systems and methods may be implemented on a wired network, wireless network, physical network, virtual network, or combinations thereof.
- the present systems may be implemented on one or multiple hardware platforms, in which the modules in the system can be executed on one or across multiple platforms.
- Such modules can run on various forms of cloud technologies and hybrid cloud technologies, or offered as a SaaS (Software as a service) that can be implemented on or off the cloud.
- one of the multiple platforms may be the Intelligent Management Center (IMC) network management platform developed and distributed by Hewlett Packard Company.
- the methods provided by the SDN manager ( 100 ) are executed by a local administrator.
- the SDN manager ( 100 ) comprises various hardware components. Among these hardware components may be a number of processors ( 101 ), a number of data storage devices ( 102 ), a number of peripheral device adapters ( 103 ), and a number of network adapters ( 104 ). These hardware components may be interconnected through the use of a number of busses and/or network connections. In one example, the processor ( 101 ), data storage device ( 102 ), peripheral device adapters ( 103 ), and a network adapter ( 104 ) may be communicatively coupled via a bus ( 105 ).
- the processor ( 101 ) may include the hardware architecture to retrieve executable code from the data storage device ( 102 ) and execute the executable code.
- the executable code may, when executed by the processor ( 101 ), cause the processor ( 101 ) to implement at least the functionality of determining a number of data flow paths between a first node and a second node within a computing network, displaying the data flow paths to a user via a number of graphical user interfaces (GUIs), and utilizing a selected data flow path as the data flow path through which the first node and a second node communicate, according to the methods of the present specification described herein.
- GUIs graphical user interfaces
- the processor ( 101 ) may receive input from and provide output to a number of the remaining hardware units.
- the data storage device ( 102 ) may store data such as executable program code that is executed by the processor ( 101 ) or other processing device. As will be discussed, the data storage device ( 102 ) may specifically store computer code representing a number of applications that the processor ( 101 ) executes to implement at least the functionality described herein.
- the data storage device ( 102 ) may include various types of memory modules, including volatile and nonvolatile memory.
- the data storage device ( 102 ) of the present example includes Random Access Memory (RAM) ( 106 ), Read Only Memory (ROM) ( 107 ), and Hard Disk Drive (HDD) memory ( 108 ).
- RAM Random Access Memory
- ROM Read Only Memory
- HDD Hard Disk Drive
- Many other types of memory may also be utilized, and the present specification contemplates the use of many varying type(s) of memory in the data storage device ( 102 ) as may suit a particular application of the principles described herein.
- different types of memory in the data storage device ( 102 ) may be used for different data storage needs.
- the processor ( 101 ) may boot from Read Only Memory (ROM) ( 107 ), maintain nonvolatile storage in the Hard Disk Drive (HDD) memory ( 108 ), and execute program code stored in Random Access Memory (RAM) ( 106 ).
- ROM Read Only Memory
- HDD Hard Disk Drive
- RAM Random Access Memory
- the data storage device ( 102 ) may comprise a computer readable medium, a computer readable storage medium, or a non-transitory computer readable medium, among others.
- the data storage device ( 102 ) may be, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing.
- a computer readable storage medium may include, for example, the following: an electrical connection having a number of wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
- a computer readable storage medium may be any tangible medium that can contain, or store computer usable program code for use by or in connection with an instruction execution system, apparatus, or device.
- a computer readable storage medium may be any non-transitory medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
- the hardware adapters ( 103 , 104 ) in the SDN manager ( 100 ) enable the processor ( 101 ) to interface with various other hardware elements, external and internal to the SDN manager ( 100 ).
- the peripheral device adapters ( 103 ) may provide an interface to input/output devices, such as, for example, display device ( 109 ), a mouse, or a keyboard.
- the peripheral device adapters ( 103 ) may also provide access to other external devices such as an external storage device, a number of network devices including, for example, servers, switches, and routers, client devices, other types of computing devices, and combinations thereof that exist within the network.
- the display device ( 109 ) may be provided to allow a user of the SDN manager ( 100 ) to interact with and implement the functionality of the SDN manager ( 100 ).
- the peripheral device adapters ( 103 ) may also create an interface between the processor ( 101 ) and the display device ( 109 ), a printer, or other media output devices.
- the network adapter ( 104 ) may provide an interface to other computing devices within, for example, a network, thereby enabling the transmission of data between the SDN manager ( 100 ) and other devices located within the network.
- the SDN manager ( 100 ) may display the number of graphical user interfaces (GUIs) on the display device ( 109 ) associated with the executable program code representing the number of applications stored on the data storage device ( 102 ).
- GUIs may include aspects of the topology of the network including a number of devices within the network, communication links between the devices, and a number of data flow paths between a number of nodes within a the network.
- the GUIs may further display a selected data flow path as the data flow path through which a first node and a second node communicate, according to the methods of the present specification described herein.
- a user may select a number of nodes between which a user desires to create a data flow path. Additionally, via making a number of interactive gestures on the GUIs of the display device ( 109 ), a user may select an optimized data flow path between the number of nodes.
- the optimized data flow path defines a data flow path within the network with the most available bandwidth. The optimized data flow path is determined based on bandwidth requirements of a number of applications executed within said network.
- the user may also select a shortest data flow path, the shortest data flow path defining a data flow path within the network with the least amount of hops between a first node and a second node.
- Examples of display devices ( 109 ) include a computer screen, a laptop screen, a mobile device screen, a personal digital assistant (PDA) screen, and a tablet screen, among other display devices ( 106 ). Examples of the GUIs displayed on the display device ( 109 ) will be described in more detail below.
- the SDN manager ( 100 ) further comprises a number of modules used in the implementation of determining a number of data flow paths between a first node and a second node within a computing network, displaying the data flow paths to a user via a number of graphical user interfaces (GUIs), and utilizing a selected data flow path as the data flow path through which the first node and a second node communicate, according to the methods of the present specification described herein.
- the various modules within the SDN manager ( 100 ) comprise executable program code that may be executed separately. In this example, the various modules may be stored as separate computer program products. In another example, the various modules within the SDN manager ( 100 ) may be combined within a number of computer program products; each computer program product comprising a number of the modules.
- the modules may be, instead, embodied as a number of data processing engines, a number of application-specific integrated circuits (ASICs), or other processing devices that perform the functionality described herein with regard to the various modules.
- the processing devices may be coupled to the various hardware devices within the SDN manager ( 100 ) in order to perform their functionality.
- the present SDN manager ( 100 ) will be described herein as comprising a number of modules.
- the SDN manager ( 100 ) may include a topology mapping module ( 110 ) to, when executed by the processor ( 101 ), discover and identify a number of hardware computing devices within a computing network.
- the hardware computing devices may include, for example, a possessing device, a controller, a core, a switch, a router, a server device, or a computing device, among may other types of hardware devices that may exist within a network.
- the topology mapping module ( 110 ) discovers a number of communication links between the nodes within the computing network.
- the SDN manager ( 100 ) may also include a GUI module ( 111 ) to, when executed by the processor ( 101 ), display the topology as discovered and identified by the topology mapping module ( 110 ) on the display device ( 109 ) to a user.
- the GUI module ( 111 ) provides a user-intelligible representation of the topology of the network and the communication links between the nodes within the topology.
- the SDN manager ( 100 ) may further include a data flow path determination module ( 112 ) to, when executed by the processor ( 101 ), determine a number of data flow paths between a number of nodes with the computing network.
- the data flow path determination module ( 112 ) may determine all possible data flow paths between all nodes with the computing network.
- the data flow path determination module ( 112 ) may determine an optimized data flow path between a number of nodes within the computing network.
- the data flow path determination module ( 112 ) may use data related to the execution of a number of applications within the network to determine the optimized data flow path as will be described in more detail below.
- the data flow path determination module ( 112 ) may determine a shortest data flow path within the network. The shortest data flow path is defined by a data flow path within the network with the least amount of hops between a number of nodes.
- the GUI module ( 111 ) displays the number of data flow paths determined by the data flow path determination module ( 112 ) in a number of the GUIs generated by the GUI module ( 111 ).
- the GUI module ( 111 ) may display all of the data flow paths, the optimized data flow path, the shortest data flow path, or combinations thereof. In this manner, the GUI module ( 111 ) provides a user-intelligible representation of the data flow paths determined by the data flow path determination module ( 112 ).
- the SDN manager ( 100 ) may further include a data flow monitoring module ( 113 ) to, when executed by the processor ( 101 ), monitor the data flow paths within the computing network.
- the data flow monitoring module ( 113 ) may automatically and continuously monitor the various data flow paths within the computing network including, for example, currently utilized data flow paths, an optimized data flow path, a shortest data flow path, or combinations thereof. As described above, this monitoring may be performed to audit security within the network and the hardware devices. Monitoring may also be used to ensure isolation of a data flow path through the network. In most cases, a data flow path may not overlap or intersect another data flow path.
- the GUI module ( 111 ) may display a number of data flow paths being monitored and their status.
- FIG. 2 is a block diagram of a network ( 200 ) managed by the SDN manager ( 100 ) of FIG. 1 , according to one example of the principles described herein.
- the network ( 200 ) of FIG. 2 is an example of a network in which the SDN manager ( 100 ) operates.
- the SDN manager ( 100 ) may operate in any network of hardware devices.
- the SDN manager ( 100 ) manages SDNs and other types of networking environments.
- the SDN manager ( 100 ) provides the ability to easily create data flow paths. In this manner, the network may be programmed without programming experience or resources. This, in turn, furthers the adoption of SDNs in all types of network environments including, for example, datacenters and campus networking environments.
- the network ( 200 ) of FIG. 2 may comprise a network layer ( 250 ), a controller layer ( 251 ), and an application layer ( 252 ).
- the network layer ( 250 ) comprises a number of cores ( 204 , 205 ) a number of switches ( 206 through 222 ), and a number of computing devices ( 223 through 227 ).
- a number of switches ( 210 through 223 ) representing switches 5 through 17 , respectively, may be identified as being included within a number of zones ( 228 , 229 , 230 , 231 ).
- the zones ( 228 , 229 , 230 , 231 ) provide for a user-friendly way to understand and represent areas within the network ( 200 ).
- switches may include, for example, a switch that uses an OPENFLOW communications protocol developed and distributed by the Open Networking Foundation, a virtual switch (vSwitch), a physical switch (pSwitch), or a wireless local area network access point (WLAN AP), among other types of switches and routers.
- OPENFLOW Open Networking Foundation
- vSwitch virtual switch
- pSwitch physical switch
- WLAN AP wireless local area network access point
- the zones may be represented within a GUI generated by the GUI module ( 111 ) to assist a user in identifying the various nodes ( 201 through 227 ) within the network ( 200 ).
- the zones ( 228 , 229 , 230 , 231 ) when represented in a GUI, may be user-selectable and expanded to show those nodes that exists within a selected zone.
- zone B ( 229 ) and zone C ( 230 ) are depicted in a collapsed manner.
- zone B ( 229 ) and zone C ( 230 ) also comprise a number of nodes that make up part of the network ( 200 ).
- switches 206 through 222
- type of hardware device may be included as intermediary hardware elements.
- the computing devices ( 223 through 227 ) of the network may be any type of hardware device. In one example, the computing devices ( 223 through 227 ) may be located on an edge or terminal of the network ( 200 ).
- the hardware devices ( 204 through 227 ) of the network layer ( 250 ) of the network ( 200 ) are coupled to a number of controllers ( 201 ) located in the controller layer ( 251 ) of the network ( 200 ).
- the controllers ( 201 ) instruct the switches ( 206 through 222 ) were to send the data that is to be transmitted through the network.
- the controllers ( 201 ) are coupled to an application data center ( 202 ) that stores a number of applications ( 203 ) to be executed by the computing devices ( 223 through 227 ).
- the application data center ( 202 ) is located on the application layer ( 252 ) of the network.
- the applications ( 203 ) may include any application that is used to transmit data from one computing device ( 223 through 227 ) to another computing device within the network ( 200 ).
- An example of an application is LYNC messaging application developed and distributed by Microsoft Corporation. LYNC allows for instant messaging, voice over internet protocol (VOIP), and video conferencing.
- LYNC will be used as an example herein of an application ( 203 ) executed on the network ( 200 ) and computing devices ( 223 through 227 ).
- the applications ( 203 ) stored on the application data center ( 202 ) utilize the network to transmit data between a number of the computing devices ( 223 through 227 ).
- the SDN manager uses information associated with the applications ( 203 ) in order to provide data flow paths through the network ( 200 ) that meet a number of requirements of the applications ( 203 ) and ensure a level of quality in the transfer of data between the computing devices ( 223 through 227 ).
- the SDN manager ( 100 ) communicates with and manages any number of hardware devices in the network level such as, for example, controllers, routers, switches, servers, client devices, printers, and modem racks, among many other forms of hardware devices, and may do so either directly or indirectly through another computing device such as, for example, the controllers ( 201 ).
- the SDN manager ( 100 ) communicates with the hardware devices in the network layer ( 250 ) of the network ( 200 ) using simple network management protocol (SNMP).
- SNMP is a protocol for managing devices on networks. In this manner, the SDN manager ( 100 ) communicates with and manages any device that supports SNMP.
- the SDN manager ( 100 ) communicates with and controls the hardware devices in the network layer using a command-line interface (CLI).
- CLI command-line interface
- a CLI provides interaction with a computer program stored an executed by the hardware devices where the user issues commands to the program in the form of successive lines of text called command lines.
- the SDN manager ( 100 ) communicates with and manages any device that supports CLI.
- the SDN manager ( 100 ) communicates with and manages the controllers ( 201 ) using a representational state transfer (REST) interface.
- REST is a programmatic access methodology and software architectural style for distributed hypermedia systems like the World Wide Web.
- REST may execute any interface that uses extensible markup language (XML) markup language, YAML human-readable data serialization format, JavaScript object notation (JSON) scripting language, or plain text over hypertext transfer protocol (HTTP) without an additional messaging layer such as simple object access protocol (SOAP).
- XML extensible markup language
- JSON JavaScript object notation
- HTTP plain text over hypertext transfer protocol
- SOAP simple object access protocol
- the SDN manager ( 100 ) also communicates with, manages, and provides adequate bandwidth within the network ( 200 ) for the applications ( 203 ) within the application data center ( 202 ) using REST.
- the SDN manager ( 100 ) may obtain information regarding the applications ( 203 ) from the controller ( 201 ), which either has that information, or obtains that information from the applications ( 203 ). This is performed using the REST interface protocol. In another example, the SDN manager ( 100 ) obtains the information regarding the applications ( 203 ) directly from the applications ( 203 ). This may be performed using the REST interface protocol, or, depending on the application ( 203 ), with JAVA computer programming language developed and distributed by Oracle Corporation or PYTHON computer programming language developed and distributed by Python Software Foundation, among other types of programming languages.
- FIG. 3 is a block diagram of a service flow graphical user interface (GUI) ( 301 ) displayed on a display device ( 109 ) of the SDN manager ( 100 ) of FIG. 1 , according to one example of the principles described herein.
- the service flow graphical user interface (GUI) ( 301 ) comprises a network topology window ( 302 ) that displays the topology of the network.
- GUI network topology window
- the network whose topology is displayed is the topology of the network ( 200 ) of FIG. 2 .
- the zones ( 228 , 229 , 230 , 231 ) depicted in FIG. 2 and reproduced in the network topology window ( 302 ) of FIG. 3 may be user-selectable.
- an expanded view is presented to the user.
- An expanded view may be presented as are Zone A ( 228 ) and Zone D ( 231 ) are depicted in FIG. 2 , and as opposed to Zone B ( 229 ) and Zone C ( 230 ) which are depicted in a collapsed view.
- the user may be able to identify and view the switches and other computing devices in a particular zone ( 228 , 229 , 230 , 231 ) without making the network topology window ( 302 ) cluttered or otherwise difficult to view.
- the service flow graphical user interface (GUI) ( 301 ) further comprises a flow list window ( 303 ) that displays a number of data flows within the network ( 200 ) displayed in the network topology window ( 302 ).
- a number of entries may be depicted in a table format to a user that informs the user of a number of data flows between nodes within the network ( 200 ).
- the information conveyed within the flow list window ( 303 ) may include, for example, a flow number for a number of data flows, a status of a number of devices device, and a number of device names that identify the device that is represented in each of the rows.
- the table depicted in the flow list window ( 303 ) may also include information regarding an input port of each of the devices, a next node with which the node identified in a row is communicating with, an output port of each of the devices, and a match VLAN field that informs a user as to whether the VLAN for a selected data flow matches a VLAN configured on a physical device.
- the service flow graphical user interface (GUI) ( 301 ) further comprises a flow parameters window ( 304 ) that provides a user with information regarding a flow selected within the flow list window ( 303 ).
- Information of the parameters of the selected data flow may include, for example, a flow name, a match VLAN, and an amount of bandwidth available within the data flow path measured in, for example, megabytes, among other parameters of the data flow within the network ( 200 ).
- a “manual” tab and an “auto” tab may be presented to the user.
- the tabs when selected by a user via the service flow GUI ( 301 ), display manually created and automatically created data flow paths within the network ( 200 ).
- the manual tab when selected by a user, the user may select a number of nodes represented in the network topology window ( 302 ) that connect two computing devices ( FIG. 2, 223 through 227 ). For example, if the network ( 200 ) were displayed to a user in the network topology window ( 302 ), and the user wanted to communicatively connect computing device ( 223 ) to computing device ( 226 ), the user would be allowed to select a number of nodes that bridge computing device ( 223 ) to computing device ( 226 ).
- the user could, with a item selection device such as a mouse or keyboard, select the following nodes between computing device ( 223 ) and computing device ( 226 ): (1) switch 5 ( 210 ), (2) switch 6 ( 211 ), (3) switch 1 ( 206 ), (4) core 1 ( 204 ), (5) core 2 ( 205 ), (6) switch 4 ( 209 ), (7) switch 12 ( 217 ), and (8) switch 13 ( 218 ).
- a item selection device such as a mouse or keyboard
- the flow list window ( 303 ) displays each of the nodes within the series of user-selected nodes that connect the computing device ( 223 ) to computing device ( 226 ). In this manner, the user can identify what nodes within the network ( 200 ) he or she has selected.
- the flow parameters window ( 304 ) will also display the flow parameters of the data flow path that the user selects via the network topology window ( 302 ). In one example, the flow parameters displayed to the user in the flow parameters window ( 304 ) are adjusted as the user adds nodes to the data flow path as he or she selects the nodes. In this manner, the user may identify how the parameters of the data flow path change as nodes are added or subtracted from the data flow path.
- the display device allows or prompts the user to select two nodes such as, for example, computing devices ( 223 through 227 ) or any other two devices within the network ( 200 ).
- two nodes such as, for example, computing devices ( 223 through 227 ) or any other two devices within the network ( 200 ).
- the user may select computing device ( 223 ) and computing device ( 226 ) as the two devices between which the user wishes to create a data flow path.
- the topology GUI ( 401 ) of FIG. 4 is selected.
- FIG. 4 is a block diagram of a topology GUI ( 401 ) displayed on a display device ( 109 ) of the SDN manager ( 100 ) of FIG. 1 , according to one example of the principles described herein.
- the topology GUI ( 401 ) will display the topology of the network ( 200 ) of FIG. 2 , along with an auto-generated data flow path ( 404 ) between the selected nodes, e.g., computing device ( 223 ) and computing device ( 226 ).
- An example of an automatically-generated data flow path is depicted in the representation of the topology of the network ( 200 ) in the topology GUI ( 401 ) as a dashed line between computing device ( 223 ) and computing device ( 226 ) and a number of intermediary nodes there between.
- buttons ( 402 , 403 ) may be presented to the user to allow the user to select a type of automatically-determined data flow path within the network ( 200 ).
- buttons ( 402 , 403 ) may be presented to the user for user selection. If the user selects the shortest path button ( 403 ), then the SDN manager ( 100 ), e executing the data flow path determination module ( 112 ), will generate a data flow path between computing device ( 223 ) and computing device ( 226 ) that includes the fewest amount of hops, or, in other words, the lowest hop count.
- a hop may be defined as one segment of a transmission path between adjacent nodes in a routed network.
- a hop count may be defined as a measure of the links between two nodes within a network.
- a hop count of five means that four nodes separate the source and destination devices.
- the shortest path between computing device ( 223 ) and computing device ( 226 ) assuming the data flow path ( 404 ) depicted in dashed lines in FIG. 4 is the shortest data flow path, then the hop count between computing device ( 223 ) and computing device ( 226 ) is nine, with eight intermediary nodes.
- the data flow path determination module ( 112 ) may take a number of parameters into consideration when determining the optimized data flow path through the network ( 200 ).
- One parameter the flow path determination module ( 112 ) may consider is the data flow requirements of a number of applications being executed between the two user-selected nodes the user desires to communicate between.
- the controllers ( 201 ) are coupled to an application data center ( 202 ) that stores a number of applications ( 203 ) to be executed by the computing devices ( 223 through 227 ).
- the applications ( 203 ) may include any application that is used to transmit data from one computing device ( 223 through 227 ) to another computing device within the network ( 200 ).
- An example of an application is LYNC messaging application described above.
- the various features of LYNC are bandwidth demanding, and if a data flow path within the network ( 200 ) is not chosen to have an adequate amount of bandwidth with respect to the features of LYNC being utilized by, for example, computing device ( 223 ) and computing device ( 226 ), the user's experience with the application will be diminished.
- the SDN manager ( 100 ) uses information associated with the applications ( 203 ) in order to provide an optimized data flow path ( 404 ) through the network ( 200 ) that meets a number of requirements of the applications ( 203 ) and ensure a level of quality in the transfer of data between the computing devices ( 223 through 227 ).
- the SDN manager ( 100 ) executing the data flow path determination module ( 112 ), receives a number of bandwidth requirements defined by the LYNC application.
- the data flow path determination module ( 112 ) will consider the data transfer capabilities of a number of the nodes within the network ( 200 ), calculations of the available bandwidth between the nodes ( 201 through 227 ) within the network ( 200 ), and the bandwidth requirements defined by the application being used to transfer data. Using this information, the data flow path determination module ( 112 ) generates an optimized data flow path ( 404 ). In one example, the data flow path determination module ( 112 ) determines an optimized data flow path with the most bandwidth or the greatest data transfer speed. The generated optimized data flow path ( 404 ) may be presented to the user in the topology GUI ( 401 ) of FIG. 4 .
- the status of the selected shortest data flow path or optimized data flow path may be monitored by the SDN manager ( 100 ) executing the data flow monitoring module ( 113 ).
- the flow parameters window ( 304 ) of FIG. 3 and its information may be displayed to the user in either the service flow GUI ( 302 ) of FIG. 3 or the topology GUI ( 401 ) of FIG. 4 .
- Information regarding the status of the data flow path ( 404 ) such as, for example, the bandwidth through the data flow path ( 404 ), and the status of a number of nodes ( 201 through 227 ) within the network ( 200 ).
- FIG. 5 is a flow chart showing a method determining a number of data flow paths ( 404 ) within a computing network using an SDN manager ( 100 ), according to one example of the principles described herein.
- the method of FIG. 5 may being by, with the processor ( 101 ) of the SDN manager ( 100 ) executing the data flow path determination module ( 112 ), determine (block 501 ) a number of data flow paths between a first node and a second node within the computing network.
- the processor ( 101 ) SDN manager ( 100 ) displays (block 502 ) the data flow paths to a user via the display device ( 109 ) by the processor ( 101 ) executing the graphical user interface (GUI) module ( 111 ). In this manner, a number of data flow paths may be generated and displayed to a user.
- GUI graphical user interface
- FIG. 6 is a flow chart showing a method determining a number of data flow paths ( 404 ) within a computing network using an SDN manager ( 100 ), according to another example of the principles described herein.
- the method of FIG. 6 may begin by obtaining (block 601 ) information about the network ( 200 ) analyzed by the SDN manager ( 100 ).
- Block 601 may be performed by the processor ( 101 ) of the SDN manager ( 100 ) executing the topology mapping module ( 110 ).
- the information obtained by the topology mapping module ( 110 ) may include, for example, the number and type of nodes ( 201 through 227 ) within the network ( 200 ), the relationships between nodes ( 201 through 227 ), a number of potential data flow paths within the network ( 200 ), the existence of a number of controllers ( 201 ), and the existence of a number of applications ( 203 ) that may be executed to transfer data between a number of the nodes ( 201 through 227 ), among other types of information.
- the representation of the network as defined by the topology will identify the nodes ( 201 through 227 ) within the network ( 200 ) and their relationship using, for example, graphical elements with links between them representing how the nodes ( 201 through 227 ) are connected or otherwise related.
- the information conveyed within the flow list window ( 303 ) may include, for example, a flow number for a number of data flows, a status of a number of devices device, and a number of device names that identify the device that is represented in each of the rows.
- the table depicted in the flow list window ( 303 ) may also include information regarding an input port of each of the devices, a next node with which the node identified in a row is communicating with, an output port of each of the devices, and a match VLAN field that informs a user as to whether the VLAN for a selected data flow matches a VLAN configured on a physical device.
- the method of FIG. 6 may proceed with displaying (block 406 ) information regarding a user-selected data flow within the flow list window ( 303 ).
- information of the parameters of the selected data flow may include, for example, a flow name, a match VLAN, and an amount of bandwidth available within the data flow path measured in, for example, megabytes, among other parameters of the data flow within the network ( 200 ).
- the user may select the manual tab of the flow list window ( 303 ) and select a number of nodes ( 201 through 227 ) between a first and a second node through which the user wants data to transfer through.
- the user may select the “auto” tab of the flow list window ( 303 ).
- the SDN manager ( 101 ) receives a user-selected indication, and determines (block 606 ), with the data flow path determination module ( 112 ), whether the user selected a shortest data flow path or an optimized data flow path. If the SDN manager ( 100 ) determines (block 606 , determination Shortest) that the user wishes to use the shortest data flow path, then the SDN manager ( 100 ) uses (block 607 ) the data flow path between the two selected computing devices ( 223 through 227 ) that includes the fewest amount of hops, or, in other words, the lowest hop count.
- the SDN manager ( 100 ) determines (block 606 , determination Optimized) that the user wishes to use the shortest data flow path, then the SDN manager ( 100 ) uses (block 608 ) the data flow path with the most bandwidth or the greatest data transfer speed. Executing the GUI module ( 111 ), the SDN manager ( 100 ) displays (block 609 ) the data flow path to the user. Further, the status of the selected shortest data flow path or optimized data flow path may be monitored by the SDN manager ( 100 ) executing the data flow monitoring module ( 113 ) as described above.
- the computer usable program code may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the computer usable program code, when executed via, for example, the processor ( 101 ) of the SDN manager ( 100 ) or other programmable data processing apparatus, implement the functions or acts specified in the flowchart and/or block diagram block or blocks.
- the computer usable program code may be embodied within a computer readable storage medium; the computer readable storage medium being part of the computer program product.
- the computer readable storage medium is a non-transitory computer readable medium.
- the specification and figures describe an SDN manager and a method of determining a data flow path within a computing network.
- the specification and figures provide for determining a number of data flow paths between a first node and a second node within the computing network, and displaying the data flow paths to a user.
- This (title) may have a number of advantages, including: (1) providing an SDN manager that manages both a software-defined network (SDN) and traditional networking environments; (2) providing the ability to easily create paths and, in this manner, program the network without programming experience or resources; and (3) furthering of the adoption of SDNs in various different networking environments including, for example, datacenters and campuses.
- SDN software-defined network
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Human Computer Interaction (AREA)
Abstract
A method of determining a data flow path within a computing network includes, with the processor executing a data flow path determination module, determining a number of data flow paths between a first node and a second node within the computing network, and with a with the processor executing a graphical user interface (GUI) module, displaying the data flow paths to a user.
Description
- A software-defined networking (SDN) manager in a network builds a path through the network to allow a number of devices to connect with other devices within the network. Once the SDN manager builds a path through the network, the SDN manager makes decisions about where network traffic is sent by instructing switches within the network to forward packets of data traveling across the network between the devices. As a result, the devices are connected to the other devices.
- The accompanying drawings illustrate various examples of the principles described herein and are a part of the specification. The illustrated examples are given merely for illustration, and do not limit the scope of the claims.
-
FIG. 1 is a block diagram of a software-defined network (SDN) manager, according to one example of the principles described herein. -
FIG. 2 is a block diagram of a network managed by the SDN manager ofFIG. 1 , according to one example of the principles described herein. -
FIG. 3 is a block diagram of a service flow graphical user interface (GUI) displayed on a display device of the SDN manager ofFIG. 1 , according to one example of the principles described herein. -
FIG. 4 is a block diagram of a topology GUI displayed on a display device of the SDN manager ofFIG. 1 , according to one example of the principles described herein. -
FIG. 5 is a flow chart showing a method determining a number of data flow paths within a computing network using an SDN manager, according to one example of the principles described herein. -
FIG. 6 is a flow chart showing a method determining a number of data flow paths within a computing network using an SDN manager, according to another example of the principles described herein. - Throughout the drawings, identical reference numbers designate similar, but not necessarily identical, elements.
- SDN networks utilize applications tied to a controller within a network to program data flows through the network. The applications utilize application program interfaces (APIs) and other interfaces to communicate with the controller. Although there may exist instances were an SDN network is utilized where no applications are present, a desire to benefit from an SDN network may still exist. Further, there are network environments that do not have developers that can utilize the programmatic interface of the controller. The present SDN manager, in relation to the above, abstracts the programmatic interface of the controller, and provides a number of graphical user interfaces (GUIs) to program the controller and create network paths within the network.
- The SDN manager builds a path through a network, and makes decisions about where and how network traffic is sent by instructing switches or other computing devices within the network to forward packets of data traveling across the network between the nodes within the network. In some circumstances, a user may desire an optimized data transfer path to be built by the SDN manager in order to provide for a desired or required bandwidth within that data transfer path. In another circumstance, a user may desire a shortest data flow path with the least amount of hops between two nodes. Thus, the present SDN manager provides for the creation of data flow paths within the network based on a user-desired or user-selected data flow path goal.
- As used in the present specification and in the appended claims, the term “node” is meant to be understood broadly as any interconnection point within a computer network. For example, a node may be a possessing device, a controller, a core, a switch, a router, a server device, client devices, printers, or a computing device, among may other types of hardware devices within the network, and combinations thereof.
- Further, as used in the present specification and in the appended claims, the term “a number of” or similar language is meant to be understood broadly as any positive number comprising 1 to infinity; zero not being a number, but the absence of a number.
- In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the present systems and methods. It will be apparent, however, to one skilled in the art that the present apparatus, systems, and methods may be practiced without these specific details. Reference in the specification to “an example” or similar language means that a particular feature, structure, or characteristic described in connection with that example is included as described, but may not be included in other examples.
- Turning now to the figures,
FIG. 1 is a block diagram of a software-defined network (SDN) manager, according to one example of the principles described herein. The SDN manager (100) may be implemented in an electronic device. Examples of electronic devices include servers, desktop computers, laptop computers, personal digital assistants (PDAs), mobile devices, smartphones, gaming systems, and tablets, among other electronic devices. - The SDN manager (100) enables network architects or other users to design and create end-to-end paths through a SDN domain using a map of the topology of the network. The map of the topology is displayed to the user via a number of graphical user interfaces (GUIs). The paths created using the SDN manager (100) is achieved through the GUIs provided by the SDN manager (100). Each path displayed within the GUI of the mapped topology represents a data path in hardware from two or more nodes in the SDN domain.
- In one example, data flow paths may be manually created by selecting, via the GUIs, nodes from the topology map. In another example, data flow paths may be automatically created by the SDN manager (100). In this example, the SDN manager (100) selects two end nodes from the topology map. In one example, the SDN manager (100) selects the two end nodes based on user input. In another example, the user selects the end nodes via the GUIs. In this example of automatic data flow path creation, the GUI displays to the user an option of choosing an “optimized data flow path” or a “shortest data flow path.” An optimized data flow path is defined by a data flow path within the network with the most bandwidth available. A shortest data flow path is defined by a data flow path within the network with the fewest hops between the two selected end nodes.
- In one example, the paths may be automatically and continuously monitored. This monitoring may be performed to audit security within the network and the hardware devices. Monitoring may also be used to ensure isolation of a data flow path through the network. In most cases, a data flow path may not overlap or intersect another data flow path. If data flow paths were permitted to overlap or intersect, data integrity may be compromised and result in a voiding of multi-tenancy requirements where two individual tenants are not allowed to accesses another tenant's data flows through the network. Monitoring may also be performed to ensure that service level agreements (SLAs) are being met, and to ensure that overall infrastructure capacity loading is being accomplished.
- The SDN manager (100) may be utilized in any data processing scenario including, stand-alone hardware, mobile applications, through a computing network, or combinations thereof. Further, the SDN manager (100) may be used in a computing network, a public cloud network, a private cloud network, a hybrid cloud network, other forms of networks, or combinations thereof. In one example, the methods provided by the SDN manager (100) are provided as a service over a network by, for example, a third party. In this example, the service may comprise, for example, the following: a Software as a Service (SaaS) hosting a number of applications; a Platform as a Service (PaaS) hosting a computing platform comprising, for example, operating systems, hardware, and storage, among others; an Infrastructure as a Service (IaaS) hosting equipment such as, for example, servers, storage components, network, and components, among others; application program interface (API) as a service (APIaaS), other forms of network services, or combinations thereof. Further, the present systems and methods may be implemented on a wired network, wireless network, physical network, virtual network, or combinations thereof.
- The present systems may be implemented on one or multiple hardware platforms, in which the modules in the system can be executed on one or across multiple platforms. Such modules can run on various forms of cloud technologies and hybrid cloud technologies, or offered as a SaaS (Software as a service) that can be implemented on or off the cloud. In one example, one of the multiple platforms may be the Intelligent Management Center (IMC) network management platform developed and distributed by Hewlett Packard Company. In another example, the methods provided by the SDN manager (100) are executed by a local administrator.
- To achieve its desired functionality, the SDN manager (100) comprises various hardware components. Among these hardware components may be a number of processors (101), a number of data storage devices (102), a number of peripheral device adapters (103), and a number of network adapters (104). These hardware components may be interconnected through the use of a number of busses and/or network connections. In one example, the processor (101), data storage device (102), peripheral device adapters (103), and a network adapter (104) may be communicatively coupled via a bus (105).
- The processor (101) may include the hardware architecture to retrieve executable code from the data storage device (102) and execute the executable code. The executable code may, when executed by the processor (101), cause the processor (101) to implement at least the functionality of determining a number of data flow paths between a first node and a second node within a computing network, displaying the data flow paths to a user via a number of graphical user interfaces (GUIs), and utilizing a selected data flow path as the data flow path through which the first node and a second node communicate, according to the methods of the present specification described herein. In the course of executing code, the processor (101) may receive input from and provide output to a number of the remaining hardware units.
- The data storage device (102) may store data such as executable program code that is executed by the processor (101) or other processing device. As will be discussed, the data storage device (102) may specifically store computer code representing a number of applications that the processor (101) executes to implement at least the functionality described herein.
- The data storage device (102) may include various types of memory modules, including volatile and nonvolatile memory. For example, the data storage device (102) of the present example includes Random Access Memory (RAM) (106), Read Only Memory (ROM) (107), and Hard Disk Drive (HDD) memory (108). Many other types of memory may also be utilized, and the present specification contemplates the use of many varying type(s) of memory in the data storage device (102) as may suit a particular application of the principles described herein. In certain examples, different types of memory in the data storage device (102) may be used for different data storage needs. For example, in certain examples the processor (101) may boot from Read Only Memory (ROM) (107), maintain nonvolatile storage in the Hard Disk Drive (HDD) memory (108), and execute program code stored in Random Access Memory (RAM) (106).
- Generally, the data storage device (102) may comprise a computer readable medium, a computer readable storage medium, or a non-transitory computer readable medium, among others. For example, the data storage device (102) may be, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of the computer readable storage medium may include, for example, the following: an electrical connection having a number of wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that can contain, or store computer usable program code for use by or in connection with an instruction execution system, apparatus, or device. In another example, a computer readable storage medium may be any non-transitory medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
- The hardware adapters (103, 104) in the SDN manager (100) enable the processor (101) to interface with various other hardware elements, external and internal to the SDN manager (100). For example, the peripheral device adapters (103) may provide an interface to input/output devices, such as, for example, display device (109), a mouse, or a keyboard. The peripheral device adapters (103) may also provide access to other external devices such as an external storage device, a number of network devices including, for example, servers, switches, and routers, client devices, other types of computing devices, and combinations thereof that exist within the network.
- The display device (109) may be provided to allow a user of the SDN manager (100) to interact with and implement the functionality of the SDN manager (100). The peripheral device adapters (103) may also create an interface between the processor (101) and the display device (109), a printer, or other media output devices. The network adapter (104) may provide an interface to other computing devices within, for example, a network, thereby enabling the transmission of data between the SDN manager (100) and other devices located within the network.
- The SDN manager (100) may display the number of graphical user interfaces (GUIs) on the display device (109) associated with the executable program code representing the number of applications stored on the data storage device (102). The GUIs may include aspects of the topology of the network including a number of devices within the network, communication links between the devices, and a number of data flow paths between a number of nodes within a the network. The GUIs may further display a selected data flow path as the data flow path through which a first node and a second node communicate, according to the methods of the present specification described herein.
- By making a number of interactive gestures on the GUIs of the display device (109), a user may select a number of nodes between which a user desires to create a data flow path. Additionally, via making a number of interactive gestures on the GUIs of the display device (109), a user may select an optimized data flow path between the number of nodes. The optimized data flow path defines a data flow path within the network with the most available bandwidth. The optimized data flow path is determined based on bandwidth requirements of a number of applications executed within said network. The user may also select a shortest data flow path, the shortest data flow path defining a data flow path within the network with the least amount of hops between a first node and a second node.
- Examples of display devices (109) include a computer screen, a laptop screen, a mobile device screen, a personal digital assistant (PDA) screen, and a tablet screen, among other display devices (106). Examples of the GUIs displayed on the display device (109) will be described in more detail below.
- The SDN manager (100) further comprises a number of modules used in the implementation of determining a number of data flow paths between a first node and a second node within a computing network, displaying the data flow paths to a user via a number of graphical user interfaces (GUIs), and utilizing a selected data flow path as the data flow path through which the first node and a second node communicate, according to the methods of the present specification described herein. The various modules within the SDN manager (100) comprise executable program code that may be executed separately. In this example, the various modules may be stored as separate computer program products. In another example, the various modules within the SDN manager (100) may be combined within a number of computer program products; each computer program product comprising a number of the modules.
- In still another example, the modules may be, instead, embodied as a number of data processing engines, a number of application-specific integrated circuits (ASICs), or other processing devices that perform the functionality described herein with regard to the various modules. In this example, the processing devices may be coupled to the various hardware devices within the SDN manager (100) in order to perform their functionality. However, the present SDN manager (100) will be described herein as comprising a number of modules.
- The SDN manager (100) may include a topology mapping module (110) to, when executed by the processor (101), discover and identify a number of hardware computing devices within a computing network. As described herein, the hardware computing devices may include, for example, a possessing device, a controller, a core, a switch, a router, a server device, or a computing device, among may other types of hardware devices that may exist within a network. In mapping the topology of the network, the topology mapping module (110) discovers a number of communication links between the nodes within the computing network.
- The SDN manager (100) may also include a GUI module (111) to, when executed by the processor (101), display the topology as discovered and identified by the topology mapping module (110) on the display device (109) to a user. In this manner, the GUI module (111) provides a user-intelligible representation of the topology of the network and the communication links between the nodes within the topology.
- The SDN manager (100) may further include a data flow path determination module (112) to, when executed by the processor (101), determine a number of data flow paths between a number of nodes with the computing network. In one example, the data flow path determination module (112) may determine all possible data flow paths between all nodes with the computing network. In another example, the data flow path determination module (112) may determine an optimized data flow path between a number of nodes within the computing network. In this example, the data flow path determination module (112) may use data related to the execution of a number of applications within the network to determine the optimized data flow path as will be described in more detail below. In another example, the data flow path determination module (112) may determine a shortest data flow path within the network. The shortest data flow path is defined by a data flow path within the network with the least amount of hops between a number of nodes.
- The GUI module (111) displays the number of data flow paths determined by the data flow path determination module (112) in a number of the GUIs generated by the GUI module (111). The GUI module (111) may display all of the data flow paths, the optimized data flow path, the shortest data flow path, or combinations thereof. In this manner, the GUI module (111) provides a user-intelligible representation of the data flow paths determined by the data flow path determination module (112).
- The SDN manager (100) may further include a data flow monitoring module (113) to, when executed by the processor (101), monitor the data flow paths within the computing network. The data flow monitoring module (113) may automatically and continuously monitor the various data flow paths within the computing network including, for example, currently utilized data flow paths, an optimized data flow path, a shortest data flow path, or combinations thereof. As described above, this monitoring may be performed to audit security within the network and the hardware devices. Monitoring may also be used to ensure isolation of a data flow path through the network. In most cases, a data flow path may not overlap or intersect another data flow path. If data flow paths were permitted to overlap or intersect, data integrity may be compromised and result in a voiding of multi-tenancy requirements where two individual tenants are not allowed to accesses another tenant's data flows through the network. Monitoring may also be performed to ensure that service level agreements (SLAs) are being met, and to ensure that overall infrastructure capacity loading is being accomplished. The GUI module (111) may display a number of data flow paths being monitored and their status.
-
FIG. 2 is a block diagram of a network (200) managed by the SDN manager (100) ofFIG. 1 , according to one example of the principles described herein. The network (200) ofFIG. 2 is an example of a network in which the SDN manager (100) operates. The SDN manager (100) may operate in any network of hardware devices. The SDN manager (100) manages SDNs and other types of networking environments. The SDN manager (100) provides the ability to easily create data flow paths. In this manner, the network may be programmed without programming experience or resources. This, in turn, furthers the adoption of SDNs in all types of network environments including, for example, datacenters and campus networking environments. - The network (200) of
FIG. 2 may comprise a network layer (250), a controller layer (251), and an application layer (252). In the example ofFIG. 2 , the network layer (250) comprises a number of cores (204, 205) a number of switches (206 through 222), and a number of computing devices (223 through 227). A number of switches (210 through 223) representing switches 5 through 17, respectively, may be identified as being included within a number of zones (228, 229, 230, 231). The zones (228, 229, 230, 231) provide for a user-friendly way to understand and represent areas within the network (200). Examples of switches may include, for example, a switch that uses an OPENFLOW communications protocol developed and distributed by the Open Networking Foundation, a virtual switch (vSwitch), a physical switch (pSwitch), or a wireless local area network access point (WLAN AP), among other types of switches and routers. - As will be discussed in more detail below, the zones may be represented within a GUI generated by the GUI module (111) to assist a user in identifying the various nodes (201 through 227) within the network (200). Further, as will described in more detail below, the zones (228, 229, 230, 231), when represented in a GUI, may be user-selectable and expanded to show those nodes that exists within a selected zone. As depicted in
FIG. 2 , zone B (229) and zone C (230) are depicted in a collapsed manner. However, although not depicted, zone B (229) and zone C (230) also comprise a number of nodes that make up part of the network (200). - Further, although a number of switches (206 through 222) are depicted in the network (200) of
FIG. 2 , and type of hardware device may be included as intermediary hardware elements. The computing devices (223 through 227) of the network may be any type of hardware device. In one example, the computing devices (223 through 227) may be located on an edge or terminal of the network (200). - The hardware devices (204 through 227) of the network layer (250) of the network (200) are coupled to a number of controllers (201) located in the controller layer (251) of the network (200). The controllers (201) instruct the switches (206 through 222) were to send the data that is to be transmitted through the network.
- The controllers (201) are coupled to an application data center (202) that stores a number of applications (203) to be executed by the computing devices (223 through 227). The application data center (202) is located on the application layer (252) of the network. The applications (203) may include any application that is used to transmit data from one computing device (223 through 227) to another computing device within the network (200). An example of an application is LYNC messaging application developed and distributed by Microsoft Corporation. LYNC allows for instant messaging, voice over internet protocol (VOIP), and video conferencing. These features of LYNC are bandwidth demanding, and if a data flow path within the network (200) is not chosen to have an adequate amount of bandwidth with respect to the features of LYNC being utilized by the computing devices (223 through 227), the user's experience with the application will be diminished. LYNC will be used as an example herein of an application (203) executed on the network (200) and computing devices (223 through 227).
- The applications (203) stored on the application data center (202) utilize the network to transmit data between a number of the computing devices (223 through 227). As will be described in more detail below, the SDN manager uses information associated with the applications (203) in order to provide data flow paths through the network (200) that meet a number of requirements of the applications (203) and ensure a level of quality in the transfer of data between the computing devices (223 through 227).
- In one example, the SDN manager (100), although being coupled to all layers (250, 251, 252) of the network (200), is not considered part of any of the layers (250, 251, 252). The SDN manager (100) communicates with and manages any number of hardware devices in the network level such as, for example, controllers, routers, switches, servers, client devices, printers, and modem racks, among many other forms of hardware devices, and may do so either directly or indirectly through another computing device such as, for example, the controllers (201). In one example, the SDN manager (100) communicates with the hardware devices in the network layer (250) of the network (200) using simple network management protocol (SNMP). SNMP is a protocol for managing devices on networks. In this manner, the SDN manager (100) communicates with and manages any device that supports SNMP.
- In another example, the SDN manager (100) communicates with and controls the hardware devices in the network layer using a command-line interface (CLI). A CLI provides interaction with a computer program stored an executed by the hardware devices where the user issues commands to the program in the form of successive lines of text called command lines. Thus, the SDN manager (100) communicates with and manages any device that supports CLI.
- The SDN manager (100) communicates with and manages the controllers (201) using a representational state transfer (REST) interface. REST is a programmatic access methodology and software architectural style for distributed hypermedia systems like the World Wide Web. REST may execute any interface that uses extensible markup language (XML) markup language, YAML human-readable data serialization format, JavaScript object notation (JSON) scripting language, or plain text over hypertext transfer protocol (HTTP) without an additional messaging layer such as simple object access protocol (SOAP). In this manner, the SDN manager (100) communicates with and manages any device that supports REST including, for example, the controllers (201).
- The SDN manager (100) also communicates with, manages, and provides adequate bandwidth within the network (200) for the applications (203) within the application data center (202) using REST.
- In one example, the SDN manager (100) may obtain information regarding the applications (203) from the controller (201), which either has that information, or obtains that information from the applications (203). This is performed using the REST interface protocol. In another example, the SDN manager (100) obtains the information regarding the applications (203) directly from the applications (203). This may be performed using the REST interface protocol, or, depending on the application (203), with JAVA computer programming language developed and distributed by Oracle Corporation or PYTHON computer programming language developed and distributed by Python Software Foundation, among other types of programming languages.
- As described above, the SDN manager (100), by executing the GUI module (111), displays a number of GUIs on the display device (109) of the SDN manager (100) by executing, for example, the topology mapping module (110) and the GUI module (111).
FIG. 3 is a block diagram of a service flow graphical user interface (GUI) (301) displayed on a display device (109) of the SDN manager (100) ofFIG. 1 , according to one example of the principles described herein. The service flow graphical user interface (GUI) (301) comprises a network topology window (302) that displays the topology of the network. In the example ofFIG. 3 , the network whose topology is displayed is the topology of the network (200) ofFIG. 2 . In one example, the zones (228, 229, 230, 231) depicted inFIG. 2 and reproduced in the network topology window (302) ofFIG. 3 , may be user-selectable. In this example, when a zone (228, 229, 230, 231) is selected, an expanded view is presented to the user. An expanded view may be presented as are Zone A (228) and Zone D (231) are depicted inFIG. 2 , and as opposed to Zone B (229) and Zone C (230) which are depicted in a collapsed view. In this manner, the user may be able to identify and view the switches and other computing devices in a particular zone (228, 229, 230, 231) without making the network topology window (302) cluttered or otherwise difficult to view. - The service flow graphical user interface (GUI) (301) further comprises a flow list window (303) that displays a number of data flows within the network (200) displayed in the network topology window (302). As depicted in
FIG. 3 , a number of entries may be depicted in a table format to a user that informs the user of a number of data flows between nodes within the network (200). In each row of the table, the information conveyed within the flow list window (303) may include, for example, a flow number for a number of data flows, a status of a number of devices device, and a number of device names that identify the device that is represented in each of the rows. The table depicted in the flow list window (303) may also include information regarding an input port of each of the devices, a next node with which the node identified in a row is communicating with, an output port of each of the devices, and a match VLAN field that informs a user as to whether the VLAN for a selected data flow matches a VLAN configured on a physical device. - The service flow graphical user interface (GUI) (301) further comprises a flow parameters window (304) that provides a user with information regarding a flow selected within the flow list window (303). Information of the parameters of the selected data flow may include, for example, a flow name, a match VLAN, and an amount of bandwidth available within the data flow path measured in, for example, megabytes, among other parameters of the data flow within the network (200).
- A “manual” tab and an “auto” tab may be presented to the user. The tabs, when selected by a user via the service flow GUI (301), display manually created and automatically created data flow paths within the network (200). When the manual tab is selected by a user, the user may select a number of nodes represented in the network topology window (302) that connect two computing devices (
FIG. 2, 223 through 227 ). For example, if the network (200) were displayed to a user in the network topology window (302), and the user wanted to communicatively connect computing device (223) to computing device (226), the user would be allowed to select a number of nodes that bridge computing device (223) to computing device (226). For example, the user could, with a item selection device such as a mouse or keyboard, select the following nodes between computing device (223) and computing device (226): (1) switch 5 (210), (2) switch 6 (211), (3) switch 1 (206), (4) core 1 (204), (5) core 2 (205), (6) switch 4 (209), (7) switch 12 (217), and (8) switch 13 (218). In this manner, the user may dictate which path through the network (200) the data is to flow. - The flow list window (303) displays each of the nodes within the series of user-selected nodes that connect the computing device (223) to computing device (226). In this manner, the user can identify what nodes within the network (200) he or she has selected. The flow parameters window (304) will also display the flow parameters of the data flow path that the user selects via the network topology window (302). In one example, the flow parameters displayed to the user in the flow parameters window (304) are adjusted as the user adds nodes to the data flow path as he or she selects the nodes. In this manner, the user may identify how the parameters of the data flow path change as nodes are added or subtracted from the data flow path.
- If a user selects the “auto” tab of the flow list window (303), the display device allows or prompts the user to select two nodes such as, for example, computing devices (223 through 227) or any other two devices within the network (200). For example, in continuation of the above example regarding manual selection of nodes, the user may select computing device (223) and computing device (226) as the two devices between which the user wishes to create a data flow path. Once the two nodes are selected, the topology GUI (401) of
FIG. 4 .FIG. 4 is a block diagram of a topology GUI (401) displayed on a display device (109) of the SDN manager (100) ofFIG. 1 , according to one example of the principles described herein. - The topology GUI (401) will display the topology of the network (200) of
FIG. 2 , along with an auto-generated data flow path (404) between the selected nodes, e.g., computing device (223) and computing device (226). An example of an automatically-generated data flow path is depicted in the representation of the topology of the network (200) in the topology GUI (401) as a dashed line between computing device (223) and computing device (226) and a number of intermediary nodes there between. - A number of buttons (402, 403) may be presented to the user to allow the user to select a type of automatically-determined data flow path within the network (200). For example, an “optimized path” button (402) and a “shortest path” button (403) may be presented to the user for user selection. If the user selects the shortest path button (403), then the SDN manager (100), e executing the data flow path determination module (112), will generate a data flow path between computing device (223) and computing device (226) that includes the fewest amount of hops, or, in other words, the lowest hop count. A hop may be defined as one segment of a transmission path between adjacent nodes in a routed network. Thus, a hop count may be defined as a measure of the links between two nodes within a network. A hop count of five means that four nodes separate the source and destination devices. Thus, the shortest path between computing device (223) and computing device (226), assuming the data flow path (404) depicted in dashed lines in
FIG. 4 is the shortest data flow path, then the hop count between computing device (223) and computing device (226) is nine, with eight intermediary nodes. - If the user selects the optimized path button (402), then the SDN manager (100), executing the data flow path determination module (112), determines an optimized data flow path is represented as the data flow path (404) in the topology GUI (401). The data flow path determination module (112) may take a number of parameters into consideration when determining the optimized data flow path through the network (200). One parameter the flow path determination module (112) may consider is the data flow requirements of a number of applications being executed between the two user-selected nodes the user desires to communicate between. As described above, the controllers (201) are coupled to an application data center (202) that stores a number of applications (203) to be executed by the computing devices (223 through 227). The applications (203) may include any application that is used to transmit data from one computing device (223 through 227) to another computing device within the network (200). An example of an application is LYNC messaging application described above. The various features of LYNC are bandwidth demanding, and if a data flow path within the network (200) is not chosen to have an adequate amount of bandwidth with respect to the features of LYNC being utilized by, for example, computing device (223) and computing device (226), the user's experience with the application will be diminished.
- The SDN manager (100) uses information associated with the applications (203) in order to provide an optimized data flow path (404) through the network (200) that meets a number of requirements of the applications (203) and ensure a level of quality in the transfer of data between the computing devices (223 through 227). In the example of LYNC, the SDN manager (100), executing the data flow path determination module (112), receives a number of bandwidth requirements defined by the LYNC application. Based on these bandwidth requirements, the data flow path determination module (112) will consider the data transfer capabilities of a number of the nodes within the network (200), calculations of the available bandwidth between the nodes (201 through 227) within the network (200), and the bandwidth requirements defined by the application being used to transfer data. Using this information, the data flow path determination module (112) generates an optimized data flow path (404). In one example, the data flow path determination module (112) determines an optimized data flow path with the most bandwidth or the greatest data transfer speed. The generated optimized data flow path (404) may be presented to the user in the topology GUI (401) of
FIG. 4 . - Further, the status of the selected shortest data flow path or optimized data flow path may be monitored by the SDN manager (100) executing the data flow monitoring module (113). In one example, the flow parameters window (304) of
FIG. 3 and its information may be displayed to the user in either the service flow GUI (302) ofFIG. 3 or the topology GUI (401) ofFIG. 4 . Information regarding the status of the data flow path (404) such as, for example, the bandwidth through the data flow path (404), and the status of a number of nodes (201 through 227) within the network (200). -
FIG. 5 is a flow chart showing a method determining a number of data flow paths (404) within a computing network using an SDN manager (100), according to one example of the principles described herein. The method ofFIG. 5 may being by, with the processor (101) of the SDN manager (100) executing the data flow path determination module (112), determine (block 501) a number of data flow paths between a first node and a second node within the computing network. The processor (101) SDN manager (100) displays (block 502) the data flow paths to a user via the display device (109) by the processor (101) executing the graphical user interface (GUI) module (111). In this manner, a number of data flow paths may be generated and displayed to a user. The method ofFIG. 5 will now be described in more detail in connection withFIG. 6 . -
FIG. 6 is a flow chart showing a method determining a number of data flow paths (404) within a computing network using an SDN manager (100), according to another example of the principles described herein. The method ofFIG. 6 may begin by obtaining (block 601) information about the network (200) analyzed by the SDN manager (100).Block 601 may be performed by the processor (101) of the SDN manager (100) executing the topology mapping module (110). The information obtained by the topology mapping module (110) may include, for example, the number and type of nodes (201 through 227) within the network (200), the relationships between nodes (201 through 227), a number of potential data flow paths within the network (200), the existence of a number of controllers (201), and the existence of a number of applications (203) that may be executed to transfer data between a number of the nodes (201 through 227), among other types of information. - The SDN manager (100), executing the topology mapping module (110) and the GUI module (111), displays (block 602) the topology of the network (200) in the service flow GUI (301). The representation of the network as defined by the topology will identify the nodes (201 through 227) within the network (200) and their relationship using, for example, graphical elements with links between them representing how the nodes (201 through 227) are connected or otherwise related.
- The SDN manager (100), executing the data flow monitoring module (113) and the GUI module (111), displays (block 603) information associated with a number of data flows via a flow list window (303). As described above, the displays a number of data flows within the network (200) displayed in the network topology window (302). As depicted in
FIG. 3 , a number of entries may be depicted in a table format to a user that informs the user of a number of data flows between nodes within the network (200). In each row of the table, the information conveyed within the flow list window (303) may include, for example, a flow number for a number of data flows, a status of a number of devices device, and a number of device names that identify the device that is represented in each of the rows. The table depicted in the flow list window (303) may also include information regarding an input port of each of the devices, a next node with which the node identified in a row is communicating with, an output port of each of the devices, and a match VLAN field that informs a user as to whether the VLAN for a selected data flow matches a VLAN configured on a physical device. - The method of
FIG. 6 may proceed with displaying (block 406) information regarding a user-selected data flow within the flow list window (303). As described above, information of the parameters of the selected data flow may include, for example, a flow name, a match VLAN, and an amount of bandwidth available within the data flow path measured in, for example, megabytes, among other parameters of the data flow within the network (200). - The SDN manager (100), executing the data flow path determination module (112) and other modules (110, 111, 113), receives (block 605) a number of inputs from a user via the service flow GUI (301), and determines (block 606) a number of data flow paths from a first node to a second node within the network (200). As described above, the user may select the manual tab of the flow list window (303) and select a number of nodes (201 through 227) between a first and a second node through which the user wants data to transfer through.
- In another example and as described above, the user may select the “auto” tab of the flow list window (303). Thus, the SDN manager (101) receives a user-selected indication, and determines (block 606), with the data flow path determination module (112), whether the user selected a shortest data flow path or an optimized data flow path. If the SDN manager (100) determines (block 606, determination Shortest) that the user wishes to use the shortest data flow path, then the SDN manager (100) uses (block 607) the data flow path between the two selected computing devices (223 through 227) that includes the fewest amount of hops, or, in other words, the lowest hop count. If, however, the SDN manager (100) determines (block 606, determination Optimized) that the user wishes to use the shortest data flow path, then the SDN manager (100) uses (block 608) the data flow path with the most bandwidth or the greatest data transfer speed. Executing the GUI module (111), the SDN manager (100) displays (block 609) the data flow path to the user. Further, the status of the selected shortest data flow path or optimized data flow path may be monitored by the SDN manager (100) executing the data flow monitoring module (113) as described above.
- Aspects of the present system and method are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to examples of the principles described herein. Each block of the flowchart illustrations and block diagrams, and combinations of blocks in the flowchart illustrations and block diagrams, may be implemented by computer usable program code. The computer usable program code may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the computer usable program code, when executed via, for example, the processor (101) of the SDN manager (100) or other programmable data processing apparatus, implement the functions or acts specified in the flowchart and/or block diagram block or blocks. In one example, the computer usable program code may be embodied within a computer readable storage medium; the computer readable storage medium being part of the computer program product. In one example, the computer readable storage medium is a non-transitory computer readable medium.
- The specification and figures describe an SDN manager and a method of determining a data flow path within a computing network. The specification and figures provide for determining a number of data flow paths between a first node and a second node within the computing network, and displaying the data flow paths to a user. This (title) may have a number of advantages, including: (1) providing an SDN manager that manages both a software-defined network (SDN) and traditional networking environments; (2) providing the ability to easily create paths and, in this manner, program the network without programming experience or resources; and (3) furthering of the adoption of SDNs in various different networking environments including, for example, datacenters and campuses.
- The preceding description has been presented to illustrate and describe examples of the principles described. This description is not intended to be exhaustive or to limit these principles to any precise form disclosed. Many modifications and variations are possible in light of the above teaching.
Claims (15)
1. A software-defined networking (SDN) manager, comprising:
a processor; and
a memory coupled to the processor, in which the memory comprises:
a topology mapping module to map a topology of a computing network; and
a data flow monitoring module to, when executed by the processor, determine a number of data flow paths through the topology based on a number of user-selected parameters.
2. The system of claim 1 , further comprising a graphical user interface (GUI) module to displaying a number of GUIs to a user; in which the GUI module displays a number of representations of the data flow paths in the GUIs.
3. The system of claim 2 , in which the representations of the data flow paths comprise:
a number of nodes; and
a number of paths between the nodes,
in which the nodes represent a number of devices within the network and the paths represent communication paths between the devices.
4. The system of claim 2 , in which the data flow paths represent an optimized data flow path, the optimized data flow path defining a data flow path within the network with the most available bandwidth.
5. The system of claim 4 , in which the optimized data flow path is determined based on a number of bandwidth requirements of a number of applications executed within the network.
6. The system of claim 2 , in which the data flow paths represent a shortest data flow path, the shortest data flow path defining a data flow path within the network with the least amount of hops between a first node and a second node.
7. The system of claim 2 , in which the GUIs are displayed to a user on a display device coupled to the SDN manager.
8. A computer program product for determining a number of data flow paths within a computing network, the computer program product comprising:
a computer readable storage medium comprising computer usable program code embodied therewith, the computer usable program code comprising:
computer usable program code to, when executed by a processor, determine a number of data flow paths between a first node and a second node with the computing network; and
computer usable program code to, when executed by a processor, determine an optimized data flow path, the optimized data flow path defining a data flow path within the network with the most available bandwidth, in which the optimized data flow path is determined based on bandwidth requirements of a number of applications executed within said network; and
computer usable program code to, when executed by a processor, determine a shortest data flow path, the shortest data flow path defining a data flow path within the network with the least amount of hops between a first node and a second node.
9. The computer program product of claim 8 , further comprising computer usable program code to, when executed by a processor, display to a user the data flow paths.
10. The computer program product of claim 8 , further comprising computer usable program code to, when executed by a processor, receive a user selection of the optimized data flow path or the shortest data flow path as a selected data flow path for communication between the first and second node.
11. The computer program product of claim 8 , further comprising computer usable program code to, when executed by a processor, utilize the selected data flow path as the data flow path through which the first node and a second node communicate.
12. A method of determining a data flow path within a computing network comprising:
with a processor executing a data flow path determination module, determining a number of data flow paths between a first node and a second node within the computing network; and
with the processor executing a graphical user interface (GUI) module, displaying the data flow paths to a user.
13. The method of claim 12 , in which determining a data flow path between a first node and a second node within the computing network comprises:
determining an optimized data flow path, the optimized data flow path defining a data flow path within the network with the most available bandwidth, in which the optimized data flow path is determined based on bandwidth requirements of a number of applications executed within said network; and
determining a shortest data flow path, the shortest data flow path defining a data flow path within the network with the least amount of hops between a first node and a second node.
14. The method of claim 13 , further comprising receiving a user selection of the optimized data flow path or the shortest data flow path as a selected data flow path for communication between the first and second node.
15. The method claim 14 , further comprising computer usable program code to, when executed by a processor, utilize the selected data flow path as the data flow path through which the first node and a second node communicate.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/070,246 US20160197818A1 (en) | 2013-10-14 | 2016-03-15 | Data flow path determination |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/053,150 US9288143B2 (en) | 2013-10-14 | 2013-10-14 | Data flow path determination |
US15/070,246 US20160197818A1 (en) | 2013-10-14 | 2016-03-15 | Data flow path determination |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/053,150 Continuation US9288143B2 (en) | 2013-10-14 | 2013-10-14 | Data flow path determination |
Publications (1)
Publication Number | Publication Date |
---|---|
US20160197818A1 true US20160197818A1 (en) | 2016-07-07 |
Family
ID=52809558
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/053,150 Active 2034-03-13 US9288143B2 (en) | 2013-10-14 | 2013-10-14 | Data flow path determination |
US15/070,246 Abandoned US20160197818A1 (en) | 2013-10-14 | 2016-03-15 | Data flow path determination |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/053,150 Active 2034-03-13 US9288143B2 (en) | 2013-10-14 | 2013-10-14 | Data flow path determination |
Country Status (1)
Country | Link |
---|---|
US (2) | US9288143B2 (en) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160065454A1 (en) * | 2014-08-27 | 2016-03-03 | International Business Machines Corporation | Reporting static flows to a switch controller in a software-defined network (sdn) |
US20160212017A1 (en) * | 2015-01-20 | 2016-07-21 | Huawei Technologies Co., Ltd. | Systems and Methods for SDT to Interwork with NFV and SDN |
US10447547B2 (en) | 2015-01-20 | 2019-10-15 | Huawei Technologies Co., Ltd. | Method and apparatus for NFV management and orchestration |
US10841187B2 (en) | 2016-06-15 | 2020-11-17 | Thousandeyes, Inc. | Monitoring enterprise networks with endpoint agents |
US10848402B1 (en) | 2018-10-24 | 2020-11-24 | Thousandeyes, Inc. | Application aware device monitoring correlation and visualization |
US10986009B2 (en) | 2012-05-21 | 2021-04-20 | Thousandeyes, Inc. | Cross-layer troubleshooting of application delivery |
US11032124B1 (en) | 2018-10-24 | 2021-06-08 | Thousandeyes Llc | Application aware device monitoring |
US11042474B2 (en) | 2016-06-15 | 2021-06-22 | Thousandeyes Llc | Scheduled tests for endpoint agents |
US11252059B2 (en) * | 2019-03-18 | 2022-02-15 | Cisco Technology, Inc. | Network path visualization using node grouping and pagination |
Families Citing this family (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9924242B2 (en) | 2012-04-20 | 2018-03-20 | Itron Global Sarl | Automatic network topology detection and fraud detection |
US9338097B2 (en) * | 2013-10-31 | 2016-05-10 | Telefonaktiebolaget L M Ericsson (Publ) | Method and system for load balancing at a data network |
US10571493B2 (en) | 2014-02-25 | 2020-02-25 | Itron, Inc. | Smart grid topology estimator |
US11079417B2 (en) | 2014-02-25 | 2021-08-03 | Itron, Inc. | Detection of electric power diversion |
US10877955B2 (en) * | 2014-04-29 | 2020-12-29 | Microsoft Technology Licensing, Llc | Using lineage to infer data quality issues |
US10089409B2 (en) | 2014-04-29 | 2018-10-02 | Microsoft Technology Licensing, Llc | Event-triggered data quality verification |
US20170006082A1 (en) * | 2014-06-03 | 2017-01-05 | Nimit Shishodia | Software Defined Networking (SDN) Orchestration by Abstraction |
AU2015317790B2 (en) * | 2014-09-16 | 2019-06-13 | Palo Alto Networks, Inc. | Methods and systems for business intent driven policy based network traffic characterization, monitoring and control |
US9843685B1 (en) | 2014-09-26 | 2017-12-12 | 8X8, Inc. | User configurable routing of VoIP calls |
US9568522B2 (en) | 2014-10-20 | 2017-02-14 | Itron, Inc. | Electrical phase identification |
US9781231B2 (en) * | 2014-11-19 | 2017-10-03 | Itron, Inc. | Application platform operable on network node |
US9835662B2 (en) | 2014-12-02 | 2017-12-05 | Itron, Inc. | Electrical network topology determination |
US11556542B2 (en) * | 2015-02-07 | 2023-01-17 | International Business Machines Corporation | Optionally compressed output from command-line interface |
US10312681B2 (en) | 2015-05-28 | 2019-06-04 | Itron, Inc. | Automatic network device electrical phase identification |
EP3314828A4 (en) | 2015-06-26 | 2018-12-19 | McAfee, LLC | Systems and methods for routing data using software-defined networks |
US9852309B2 (en) | 2016-01-05 | 2017-12-26 | Prifender Ltd. | System and method for securing personal data elements |
US9866905B1 (en) * | 2016-02-23 | 2018-01-09 | CSC Holdings, LLC | Set-top box reboot and polling tool |
US10659476B2 (en) | 2016-09-12 | 2020-05-19 | Architecture Technology Corporation | Transparent bridge for monitoring crypto-partitioned wide-area network |
WO2019000340A1 (en) * | 2017-06-29 | 2019-01-03 | 华为技术有限公司 | Network topology structure mapping method and device, terminal and storage medium |
US11082338B1 (en) * | 2018-04-17 | 2021-08-03 | Amazon Technologies, Inc. | Distributed connection state tracking for large-volume network flows |
CN108696453B (en) * | 2018-07-25 | 2022-03-04 | 北京智芯微电子科技有限公司 | Lightweight power communication network SDN service flow perception method and system |
US11336509B2 (en) * | 2018-10-31 | 2022-05-17 | EMC IP Holding Company LLC | Detecting single points of failure on a storage system |
US10931539B2 (en) * | 2018-12-21 | 2021-02-23 | Cisco Technology, Inc. | Graphical user interface for displaying a network traffic route in a single-view display |
US11032154B2 (en) * | 2018-12-21 | 2021-06-08 | Cisco Technology, Inc. | Graphical user interface for displaying a hierarchical network topology in a single site view |
US12010004B2 (en) * | 2019-07-19 | 2024-06-11 | NetBrain Technologies, Inc. | Network management with topology dependency and path generation |
CN111917645A (en) * | 2020-08-20 | 2020-11-10 | 深圳多拉多通信技术有限公司 | SDN-based path optimization method and system for mobile network |
US11463366B1 (en) | 2020-09-22 | 2022-10-04 | Architecture Technology Corporation | Autonomous network optimization using network templates |
CN112583715B (en) * | 2020-12-08 | 2022-05-27 | 广州技象科技有限公司 | Equipment node connection adjustment method and device |
US11924087B2 (en) * | 2020-12-18 | 2024-03-05 | Ciena Corporation | Adjustable multi-criteria network path computation and visualizations thereof |
CN114157718B (en) * | 2021-11-12 | 2023-07-25 | 国网冀北电力有限公司信息通信分公司 | A kind of SDN network system and the control method of SDN network system |
US11716278B1 (en) | 2022-01-25 | 2023-08-01 | Bank Of America Corporation | System and method for determining the shortest data transfer path in data communication |
US20230393863A1 (en) * | 2022-06-03 | 2023-12-07 | Chevron U.S.A. Inc. | System and method for integrating new arrangements into one or more systems of applications |
CN117339199B (en) * | 2023-10-27 | 2024-04-12 | 常州贝壳网络科技有限公司 | Multi-path game acceleration system and method |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB9821150D0 (en) * | 1998-09-30 | 1998-11-25 | Northern Telecom Ltd | Detection of network topology changes affecting trail routing consistency |
US6477572B1 (en) * | 1998-12-17 | 2002-11-05 | International Business Machines Corporation | Method for displaying a network topology for a task deployment service |
US7752024B2 (en) * | 2000-05-05 | 2010-07-06 | Computer Associates Think, Inc. | Systems and methods for constructing multi-layer topological models of computer networks |
US7168044B1 (en) * | 2000-12-22 | 2007-01-23 | Turin Networks | Apparatus and method for automatic network connection provisioning |
US6956821B2 (en) | 2001-01-30 | 2005-10-18 | Telefonaktiebolaget L M Ericsson (Publ) | Path determination in a data network |
US20030115319A1 (en) * | 2001-12-17 | 2003-06-19 | Dawson Jeffrey L. | Network paths |
US7856599B2 (en) * | 2001-12-19 | 2010-12-21 | Alcatel-Lucent Canada Inc. | Method and system for IP link management |
US20030128231A1 (en) * | 2002-01-09 | 2003-07-10 | Stephane Kasriel | Dynamic path analysis |
US7219300B2 (en) * | 2002-09-30 | 2007-05-15 | Sanavigator, Inc. | Method and system for generating a network monitoring display with animated utilization information |
AU2003300900A1 (en) * | 2002-12-13 | 2004-07-09 | Internap Network Services Corporation | Topology aware route control |
US7681130B1 (en) * | 2006-03-31 | 2010-03-16 | Emc Corporation | Methods and apparatus for displaying network data |
WO2007131192A2 (en) | 2006-05-05 | 2007-11-15 | Agilemesh, Inc. | Network device user control interface |
US8064358B2 (en) * | 2007-02-28 | 2011-11-22 | Red Hat, Inc. | Network and systems management monitoring tool |
US8161393B2 (en) * | 2007-09-18 | 2012-04-17 | International Business Machines Corporation | Arrangements for managing processing components using a graphical user interface |
US8447181B2 (en) | 2008-08-15 | 2013-05-21 | Tellabs Operations, Inc. | Method and apparatus for displaying and identifying available wavelength paths across a network |
US7937438B1 (en) | 2009-12-07 | 2011-05-03 | Amazon Technologies, Inc. | Using virtual networking devices to manage external connections |
JP5910811B2 (en) * | 2011-07-27 | 2016-04-27 | 日本電気株式会社 | Switch device control system, configuration control device and configuration control method thereof |
US8593958B2 (en) * | 2011-09-14 | 2013-11-26 | Telefonaktiebologet L M Ericsson (Publ) | Network-wide flow monitoring in split architecture networks |
US20140086065A1 (en) * | 2012-09-24 | 2014-03-27 | International Business Machines Corporation | Disjoint multi-paths with service guarantee extension |
US9559896B2 (en) * | 2013-07-08 | 2017-01-31 | Cisco Technology, Inc. | Network-assisted configuration and programming of gateways in a network environment |
-
2013
- 2013-10-14 US US14/053,150 patent/US9288143B2/en active Active
-
2016
- 2016-03-15 US US15/070,246 patent/US20160197818A1/en not_active Abandoned
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10986009B2 (en) | 2012-05-21 | 2021-04-20 | Thousandeyes, Inc. | Cross-layer troubleshooting of application delivery |
US9692689B2 (en) * | 2014-08-27 | 2017-06-27 | International Business Machines Corporation | Reporting static flows to a switch controller in a software-defined network (SDN) |
US20160065454A1 (en) * | 2014-08-27 | 2016-03-03 | International Business Machines Corporation | Reporting static flows to a switch controller in a software-defined network (sdn) |
US20160212017A1 (en) * | 2015-01-20 | 2016-07-21 | Huawei Technologies Co., Ltd. | Systems and Methods for SDT to Interwork with NFV and SDN |
US10298466B2 (en) * | 2015-01-20 | 2019-05-21 | Huawei Technologies Co., Ltd. | Systems and methods for SDT to interwork with NFV and SDN |
US10447547B2 (en) | 2015-01-20 | 2019-10-15 | Huawei Technologies Co., Ltd. | Method and apparatus for NFV management and orchestration |
US11042474B2 (en) | 2016-06-15 | 2021-06-22 | Thousandeyes Llc | Scheduled tests for endpoint agents |
US10841187B2 (en) | 2016-06-15 | 2020-11-17 | Thousandeyes, Inc. | Monitoring enterprise networks with endpoint agents |
US11582119B2 (en) | 2016-06-15 | 2023-02-14 | Cisco Technology, Inc. | Monitoring enterprise networks with endpoint agents |
US11755467B2 (en) | 2016-06-15 | 2023-09-12 | Cisco Technology, Inc. | Scheduled tests for endpoint agents |
US10848402B1 (en) | 2018-10-24 | 2020-11-24 | Thousandeyes, Inc. | Application aware device monitoring correlation and visualization |
US11032124B1 (en) | 2018-10-24 | 2021-06-08 | Thousandeyes Llc | Application aware device monitoring |
US11509552B2 (en) | 2018-10-24 | 2022-11-22 | Cisco Technology, Inc. | Application aware device monitoring correlation and visualization |
US11252059B2 (en) * | 2019-03-18 | 2022-02-15 | Cisco Technology, Inc. | Network path visualization using node grouping and pagination |
Also Published As
Publication number | Publication date |
---|---|
US20150103672A1 (en) | 2015-04-16 |
US9288143B2 (en) | 2016-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9288143B2 (en) | Data flow path determination | |
US10825212B2 (en) | Enhanced user interface systems including dynamic context selection for cloud-based networks | |
US10567519B1 (en) | Service overlay model for a co-location facility | |
US11218376B2 (en) | Algorithmic problem identification and resolution in fabric networks by software defined operations, administration, and maintenance | |
EP2992444B1 (en) | Automated creation of private virtual networks in a service provider network | |
US10290129B2 (en) | Method and system for visualizing networks | |
US9667495B2 (en) | Programmable data network management and operation | |
US8842578B1 (en) | End-to-end (E2E) application packet flow visibility | |
US9584369B2 (en) | Methods of representing software defined networking-based multiple layer network topology views | |
US10749780B2 (en) | Systems and methods for management of cloud exchanges | |
US20130346619A1 (en) | Apparatus and methods for auto-discovery and migration of virtual cloud infrastructure | |
CN113746760B (en) | Communication method, network controller and computer readable storage medium | |
JP6463851B2 (en) | Methods and entities for service availability management | |
US9674045B2 (en) | Methods, systems, and computer readable media for modeling packet technology services using a packet virtual network (PVN) | |
WO2018153221A1 (en) | Method, device and system for controlling quality-of-service of business in transmission network | |
US9641390B2 (en) | Automatic configuration of switch port settings based on the device attached to the switch port | |
JP2017528961A (en) | Routing awareness transmission for autonomous networks | |
WO2016179125A1 (en) | Routing communication sessions | |
JP5256406B2 (en) | Network visualization method and network visualization device | |
Huang et al. | Automatical end to end topology discovery and flow viewer on SDN | |
CN108768861B (en) | Method and device for sending service message | |
CN107431641A (en) | Subscription to communication attributes | |
Das et al. | Performance Analysis of an OpenFlow-Enabled Network with POX, Ryu, and ODL Controllers | |
CN111865640A (en) | Network architecture description method and device | |
Chen et al. | A dynamic security traversal mechanism for providing deterministic delay guarantee in SDN |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |