Description
Controller and method for controlling communication services for applications on a physical network
The present invention relates to a controller and to a method for controlling communication services for applications on a physical network. In particular, many networks require a predictable operation with tight timings and high reliability. This is especially true for industrial networks. In this regard, "industrial network" preferably refers to Ethernet/IP-based networks in factory automation, traffic control, machine-to-machine, SCADA (Supervisory control and data acquisition) application areas .
Current internet and local area network technologies cannot fulfil those requirements. Many conventional technical exten- sions in the form of industrial communication standards try to solve these issues, e.g. the PROFINET standard. For all of these standards, basically the same steps have to apply. In a first step, the applications have to be planned. In a second step, requirements have to be derived. In a third step, the network has to be planned. In a fourth step, the network has to be rolled out and configured. In a fifth step, the network has to be started for providing the applications.
One problem with this procedure is the lack of flexibility under tight coupling of the application planning in network configuration and operation. If something changes in the physical network or in one of the applications, at least some of the steps have to be repeated. This may create extra costs due to manual re-planning. Further, this may be error-prone. Furthermore, it may be hard to use non-industrial technolo¬ gies as a base for products in industrial networks. In par¬ ticular, the evolution of the standard Internet/LAN technologies is difficult to be integrated within an industrial com-
munication technology like PROFINET. One of these reasons is the required development costs in terms of hardware, like ASICs, such as the case within PROFINET. Any technological improvement in the IEEE standard Ethernet requires large de- velopment costs to integrate this extension within PROFINET. Further, this might lead to several generations of the same protocol that cannot interoperate potentially. In addition, the effect of a change on the standard might snow-ball, be¬ cause PROFINET covers not only networking issues, but also end-devices, middleware and engineering tools that interact with the PROFINET-capable devices and networks. In addition, mixing products from different standards with sometimes very different capabilities in the same network is typically dif¬ ficult or not possible because conventional planning tools cannot work with heterogeneous standards.
A further problem is the fact that many applications from different stack holders may compete for the resources and have to be shielded from each other for security and manage- ment reasons (multi-tenancy) . The share of the network allo¬ cated to each application has to be done on-demand and with¬ out physically extending the network. The service which the network provides to the applications has to provide guaran¬ tees on the one hand, but it also shall enforce restrictions (policy control) .
Further, quality of service, resilience and rout¬ ing/forwarding has to be managed in the physical network. For each above-discussed partial problem, separate technology developments exist in the Internet and local area networks.
The present partial solutions within the industrial fields may be categorized into the following:
1) Use of different physical networks. This approach - while still commonly used - provides no flexibility and cre¬ ates extra costs for hardware.
2) The use of virtualization combined with over- dimensioning of the network by setting up a pre-defined and static series of subnets and LANs around a given application (e.g. a control application of a factory cell) . This cellular approach may be also less effective neither in allowing inter-cell communication nor in enabling rational network deployment . 3) Industrial extensions to Ethernet protocols to include needs of industrial communication. But this solution lacks flexibility, is not suited for interoperability, and has cre¬ ated specialized niche products that have evolved as stand¬ alone standards such as Profinet. Those industrial standards typically cannot shield non-industrial applications from each other and must use other means as described in [2] to do so.
4) Traffic engineering and QoS (Quality of Service) dimen¬ sioning of the network, which is the approach often found in telecommunication networks and used by internet service pro¬ viders. This allows a certain control over the owned network which is providing communication as a service to multiple tiers. This approach is, however, not as appropriate to the industrial applications, due to the granularity and complex- ity in defining SLAs (Service level agreements) for each user. This approach is also based on some protocols and specified for larger hardware (such as routers supporting RSVP, MPLS switches, etc.). Thus, existing technologies can here not be used for industrial networks.
Conventional methods and devices for controlling communica¬ tion services for applications on a physical network are de¬ scribed in references [1] to [14] . It is one object of the present invention to provide an im¬ proved control of communication services for applications on a physical network.
According to a first aspect, a controller for controlling communication services for a plurality N of applications on a physical network having a plurality M of network nodes pro¬ viding certain network resources is provided. Each of the N applications is described by at least a set of requirements and optionally a set of traffic patterns and is adapted run on at least two of the M network nodes. The controller com¬ prises a generator and a calculator. The generator is adapted to generate a network model of the physical network including a topology of the physical network and a node model for each of the M network nodes, wherein the node model describes node capabilities and node resources of the network node. The cal¬ culator is adapted to calculate N virtual networks for the N applications by mapping each of the set of requirements of the N applications to the provided network model, wherein each of the N calculated virtual networks includes at least two network nodes and a slice of the certain network re¬ sources . By calculating the virtual networks based on the provided network model, the planning of the physical network and its configuration are separated advantageously. Thus, the effi¬ ciency of the physical network may be improved. Thus, in the step of calculating the virtual networks it is not necessary to have and use information that identifies how to interface the respective network element. The present con¬ troller adds intelligence to optimize and manage the network resources on the fly and not just by means of offline traffic engineering. The result is a managed portioning of the net¬ work, with clear service guarantees and associated policies, called "virtual network" or "slice". "Portioning" here refers not only the route data packets can take - as in traditional network virtualisation techniques - but also the share of network resource they can consume. Network resources include bandwidth, schedulers and buffers.
The physical network includes its connected network elements, like end devices and inner nodes, plus their interconnecting physical links. For example, the physical network is a set of IP and/or OSI layer-2 devices (i.e. routers or switches) in- terconnected by physical links which can route messages
(packets) and can apply constraints on those messages.
Here, virtual network corresponds to "slice" preferably re¬ ferring to a logical partition of the physical network con- necting several end points and characterized by a class. A slice can exist in several instances of unconnected slices. The class of slice is defined through a distinctive attribute or set of attributes that distinguish different classes, such as security, QoS parameters, importance, and reliability. A slice instance is instantiated by defining the members of the slice in terms of end points, and the characteristics of the network that fulfills the slice class attributes. The slice may be implemented as the virtual network fulfilling the characteristic of the slice class independently of the under- lying network or technology used to fulfill those character¬ istics. A slice instance has an identifier, such as a number.
"Application" preferably refers to pieces of software or pro¬ grams distributed across the physical network (distributed service) . The software may be considered as a set of end points with the need to communicate with a certain service level over at least one pipe (slice) .
"End point" preferably refers to the leaf of a slice. The end point suggests a distributed nature of the application, which could be peer-to-peer or client-server based, where each application peering end entity is hosted at a different edge of the physical network. Each end point may run as a "virtual end point" (VEP) such as a virtual machine or virtual entity, where a single device can host several VEPs and each VEP be¬ longs to a different slice.
"Pipe" preferably refers to a connection of two end points. It's a logical connection meaning on the first glance it has nothing to do with routing/forwarding and other properties on the physical layer. A pipe has properties like e.g. minimum or maximum bandwidth and access is controlled.
"Network model" preferably refers to an abstraction of the concrete physical network using generic nodes but various properties. The generic nodes are preferably described as node models.
A communication service in this context is the functionality to transport information between endpoints in a network with certain properties. Functionality includes routing respective data forwarding, properties are non-functional issues such as performance or resilience.
The set of requirements of each application preferably de¬ fines the network elements on which the application has to be run and further the paths or path requirements that have to be used.
Thus, according to implementations, a plurality of network elements, in particular end devices and inner nodes, and/or network architectures may be handled easily.
According to some implementations, because of the present separation of planning and configuring the physical network, an ability to support multi-tier and remote access to a shared production system is provided, in particular by installing virtual networks on demand. Virtual networks may preferably be called slices, because each of the calculated virtual networks uses a definite slice of the certain network resources of the present physical network.
In particular compared to conventional virtualization techniques, no communication overhead due to direct node configu¬ ration occurs. Thus, there is no need for encapsulation.
Moreover, according to some implementations, it is possible to provide holistic QoS and routine approaches targeted at industrial communication networks.
Further, the calculated N virtual networks may provide a slice application view of the physical network, said slice application view gathering a list of network elements adapted to run at least one application, as well as entry points into the slice. The slice application view may be seen as a graph of an overlay, where each node is a slice end-point, with a given interface describing the expected communication service at each respective interface. This abstract view of expected interfaces is part of the present network model. The inter- face expected at each end-point of a slice may describe more than QoS parameters such as bandwidth or expected end-to-end delay, but also at some semantics information such as the need for a secure channel, redundant communication, or other requested non-functional qualities of the network. The seman- tic model may also include the capabilities of the said in¬ terface such as e.g. protocols, physical resources, ability to support QoS or policy enforcements. The present abstrac¬ tion of the physical network, the network model, enables technology independent planning and engineering tools.
Network elements and applications may be slice system aware meaning they contain components which can interact with the present controller. The present controller may be also called slice manager or slice controller. If devices are not slice system aware, the first slice system aware device in the physical network may terminate the slice system and transpar¬ ently route all traffic for this device. If an application is not slice system aware, but is placed on a slice system aware device, this device may contain an additional software compo- nent which manages slice access on behalf of that applica¬ tion .
According to an embodiment, the controller includes a con¬ figurator for configuring the physical network such that the calculated N virtual networks are fulfilled. By means of the configurator, the controller has the ability to configure the physical network on the basis of the calcu¬ lated virtual networks advantageously. Thus, in sum, the pre¬ sent controller may perform the following tasks: communicat¬ ing with applications or management stations in order to es- tablish, tear-down or change the virtual networks or to in¬ form if failures or changes occur, automatic management of the available physical resources, and device configurations in order to enable quality-of-service or policing rules. According to a further embodiment, the configurator is adapted to configure the physical network by allowing a sepa¬ rate configuration and a separate commissioning for each of the N applications. By allowing separate configuration and commissioning steps for each application, a dynamic communication set up and operation is supported advantageously, while shielding each ap¬ plication from each another. According to a further embodiment, the calculator is adapted to calculate the N virtual networks such that the N applica¬ tions are shielded against each other.
If the applications are shielded against each other, one of the applications may be changed without any impact to the other applications.
According to a further embodiment, the controller is configured to control the communication services during an opera- tion of the physical network.
Because the present controller is configured to control the communication services during the operation of the physical
network, an application or a network element may be changed while the operation of the physical network is not stopped and a new network model may be calculated and configured to the present physical network. Thus, there is provided an ability to deal with network physical extensions, resource reallocation, for example due to sudden failures or errors, hidden from the application planning and commissioning.
According to a further embodiment, the controller includes M drivers for driving the M network nodes dependent on the N calculated virtual networks and independent on a certain technology used by one of the N network nodes.
By means of the M drivers, the controller has the ability to configure a virtual network (slice) along nodes (network ele¬ ments) with different technologies such as e.g. router, AVB (audio-video-bridging) -capable switch, PROFINET-switch, managed switch. The slice could cross the different network nodes, while guaranteeing at least the minimum guarantee of the simplest node along the path. The different network nodes may be configured on the fly through whatever interface is appropriate. This requires no additional hardware or firmware extension of the network node itself. Thus, the above dis¬ cussed slice view is an abstraction of the concrete physical network. This slice view is an abstraction layer between the applications view and the view of the physical network it¬ self.
According to a further embodiment, the node model includes QoS (Quality of Service) capabilities, performance parame¬ ters, implementation parameters and/or interfaces of the net¬ work node.
According to a further embodiment, the calculator is config- ured to map the N sets of requirements of the N applications to the provided network model by using at least one optimiza¬ tion step.
By optimizing the mapping and therefore the calculation of the virtual networks, the use of the underlined physical net¬ work may be improved. According to a further embodiment, the controller includes a user interface for planning and configuring the N applications .
In sum, the present controller may provide an interface for planning tools and applications on the one hand, and inter¬ faces towards the network elements on the other hand.
According to a further embodiment, the controller includes a requestor for requesting network information on the network resources from the physical network and node information on the node capabilities and the node resources from at least one of the M network nodes, in particular from all of the M network nodes.
By means of the requestor, the controller may request the necessary information from the physical network to provide an optimal network model.
According to a further embodiment, the generator is configured to generate the network model based on the network in- formation and the node information requested by the re¬ questor .
According to a further embodiment, the physical network is an industrial network, in particular an Ethernet/IP-based indus- trial network, e.g. PROFINET.
According to a further embodiment, the M network nodes include a number of end devices which are adapted to run at least one of the N applications and a number of inner nodes which are adapted to forward data packets between at least two end devices.
According to some implementations, the controller may run slices from backend systems, like cloud, enterprise networks, or remote service providers, deep into the field level cross¬ ing multiple network borders, while still protecting critical applications and their communication services.
The respective means, e.g. the generator, the calculator or the configurator, may be implemented in hardware and/or in software. If said means are implemented in hardware, it may be embodied as a device, e.g. as a computer or as a processor or as a part of a system, e.g. a computer system. If said means are implemented in software it may be embodied as a computer program product, as a function, as a routine, as a program code or as an executable object.
Any embodiment of the first aspect may be combined with any embodiment of the first aspect to obtain another embodiment of the first aspect. According to a second aspect, a method for controlling commu¬ nication services for a plurality N of applications on a physical network having a plurality M of network nodes pro¬ viding certain network resources is provided. Each of the N applications is described by a set of requirements and adapted to run on at least two of the M network nodes. In a first step, a network model of the physical network is gener¬ ated, wherein the network model includes a topology of the physical network and a node model for each of the M network nodes. In particular, the node model describes node capabili- ties and node resources of the network node. In a second step, N virtual networks for the N applications are calcu¬ lated by mapping each of the set of requirements of the N ap¬ plications to the provided network model, wherein each of the N calculated virtual networks includes at least two network nodes and a slice of the certain network resources.
According to a third aspect, the invention relates to a com¬ puter program product comprising a program code for executing the above discussed method for controlling communication services for a plurality N of applications on a physical network when run on at least one computer.
A computer program product, like a computer program means, may be embodied as a memory card, USB stick, CD-ROM, DVD or as a file which may be downloaded from a server in a network. For example, this may be provided by transferring the respec¬ tive file with the computer program product from a wireless communication network.
Further objects, features and advantages of the present in- vention will become apparent from the subsequent description and depending claims, taking in conjunction with the accompanying drawings, in which:
Fig. 1 shows a schematic block diagram of a first embodiment of a controller for controlling communication services for applications on a physical network,
Fig. 2 shows a schematic block diagram of a second embodiment of a controller for controlling communication services for applications on a physical network,
Fig. 3 shows two exemplary applications which are to be im¬ plemented in the physical network of Fig. 5, Fig. 4 shows a network model of the physical network of Fig. 5,
Fig. 5 shows an embodiment of a physical network,
Fig. 6 shows a schematic block diagram of a third embodiment of a controller for controlling communication services for applications on a physical network, and Fig. 7 shows an embodiment of a sequence of method steps for controlling communication services for applications on a physical network.
In the Figures, like reference numerals designate like or functionally equivalent elements, unless otherwise indicated.
In Fig. 1, a schematic block diagram of a first embodiment of a controller 10 for controlling communication services for a plurality N of applications 21, 22 on a physical network 30 having a plurality M of network nodes 41-49 providing certain network resources is depicted. Each of the N applications 21, 22 is described by a set of requirements and is adapted to run on at least two of the M network nodes 41-49. In the fol¬ lowing, the controller 10 of Fig. 1 is discussed with refer- ence to Figs. 3 to 5. In this regard, Fig. 5 shows an embodi¬ ment of a physical network 30, Fig. 4 a network model 50 of the physical network 30 of Fig. 5, and Fig. 3 two exemplary applications 21, 22 which are to be implemented in the physi¬ cal network of Fig. 5.
With respect to Fig. 3, and without loss of generality, N=2 in this example. Further, with reference to Figs. 4 and 5, M=9 without loss of generality. Fig. 3 shows two applications 21, 22, wherein the first ap¬ plication 21 has four end devices 41-44 between which data packets are to be transferred. In contrast, the second appli¬ cation 22 has only two end devices 41 and 44 between which data packets are to be transferred. According to Fig. 5, the physical network 30 has nine network elements 41-49. Said nine network elements 41-49 include four end devices 41-44 which are adapted to run at least one of the applications 21, 22 and five inner nodes 45-49 which are adapted to forward
data packets between the end devices 41-44. The inner nodes 45-59 may be embodied as bridges, switches or radio station.
Coming back to the controller 10 of Fig. 1, said controller 10 comprises a generator 11 and a calculator 12. The genera¬ tor 11 is adapted to generate the network model 50 according to Fig. 4 of the physical network 30 of Fig. 5. The generated network model 50 includes a topology 60 of the physical net¬ work 30 and a node model 71-79 for each of the nine network nodes 41-49 of the physical network 30 of Fig. 5. The respec¬ tive network model 71-79 describes node capabilities and node resources of the respective network node 41-49. In other words, for each of the network nodes 41-49 of Fig. 5 one re¬ spective node model 71-79 is generated.
The calculator 12 of the controller 10 is adapted to calcu¬ late two (N=2) virtual networks 81, 82 for the two applica¬ tions 21, 22 by mapping each of the sets of requirements of the two applications 21, 22 to the provided network model 50. Therein, each of the two calculated virtual networks 81, 82 includes at least two network nodes 41-49 and a slice of the certain network resources. In particular, the sum of the slices corresponds to the available network resources of the physical network 30.
Particularly, the calculator 12 is configured to map the two sets of requirements of the two applications 21, 22 to the provided network model 50 by applying at least one optimiza¬ tion step. Further, the calculator 12 may calculate the two virtual networks 81, 82 such that the applications 21, 22 are shielded against each other.
The controller 10 is further configured to control the commu¬ nication services during an operation of the physical network 30. That means that, for example, one application 21, 22 may be adapted or one of the network nodes 41-49 may be changed, the controller 10 may generate a new network model 50 and may
calculate new virtual networks 81, 82 in dependence on such a change .
Fig. 2 shows a second embodiment of a controller 10 for con- trolling communication services for a plurality N of applica¬ tions 21, 22 on a physical network 30 having a plurality M of network nodes 41-49 providing certain network resources. Said second embodiment of the controller 10 of Fig. 2 is based on the first embodiment of Fig. 1. Additionally to Fig. 1, the controller 10 of Fig. 2 includes a configurator 13 which is adapted to configure the physical network 30 such that the calculated two virtual networks 81, 82 are fulfilled. That means that after the configuration step, the physical network 30, in particular its network elements 41-49, is adapted to provide said calculated virtual networks 81, 82. Further, the configurator 13 may be adapted to configure the physical net¬ work 30 by allowing a separate configuration and a separate commissioning for each of the two applications 21, 22. Moreover, in Fig. 6, a third embodiment of a controller 10 is depicted which is based on the second embodiment of Fig. 2.
The controller 10 of Fig. 6 additionally comprises a user in¬ terface 14 and a requestor 15. Further, the configurator 13 of Fig. 6 comprises a number M of drivers.
By means of the user interface 14, a user may plan and con¬ figure the N applications 21, 22. The M drivers are configured to drive the M network nodes 41- 49 dependent on the N calculated virtual networks 81, 82 and independent on a certain technology used by one of the net¬ work nodes 41-49. That means, because of using said drivers 13, any technology can be used for network nodes 41-43, which has no impact on calculating the virtual networks 81, 82.
Further, the requestor 15 is adapted to request network information on the network resources from the physical network
30 and node information on the node capabilities and the node resources from the network nodes 41-49. In this third embodi¬ ment, the generator 30 may be configured to generate the net¬ work model 50 based on the network information and the node information as requested by the requestor 15.
In Fig. 7, a method for controlling communication services for a plurality N of applications 21, 22 on the physical net¬ work 30 having a plurality M of network nodes 41-49 providing certain network resources is depicted. Each of the N applica¬ tions 21, 22 is described by a set of requirements and is adapted to run on at least two of the M network nodes 41-49.
The method of Fig. 7 includes the following steps 101-103:
In step 101, a network model 50 of the physical network 30 is generated. The network model 50 includes a topology 60 of the physical network 30 and a node model 71-79 for each of the M network nodes 41-49 (see Figs. 3-5) . In this regard, the node model 71-79 describes node capabilities and node resources of the network node 41-49.
In step 102, N virtual networks 81, 82 for the N applications 21, 22 are calculated by mapping each of the sets of require- ments of the N applications 21, 22 to the provided network model 50. Each of the N calculated virtual networks 81, 82 includes at least two network nodes 41-49 and the slice of the certain network resources. In step 103, the physical network 30 is configured such that the calculated N virtual networks 81, 82 are fulfilled.
In particular, above steps 101-103 may be executed during the operation of the physical network 30.
The following example may illustrate the present invention. In this example, the controller may also be called slice man¬ ager and the respective virtual network may be called slice.
In the present example, the following prerequisites are ful¬ filled: 1. The slice manager knows the network topology. This can be assured by means of a prepared configuration or by means of automatic discovery.
2. All devices (network elements) which have to be con- trolled by the slice manager must be known; if the respective information is not given in 1., the devices register with the slice manager. The information for a device includes QoS ca¬ pabilities, performance parameters, interfaces and eventually more implementation specific information.
3. For each desired slice (VN) a description exists which includes a list of end devices, applications on that end de¬ vices (for slice system aware devices only) , QoS require¬ ments, and some notion of importance and/or resilience re- quirements. Optionally a specification of the traffic assumed for this slice may exist to allow better optimizations. An¬ other optional description may contain security related is¬ sues, i.e. firewall rules, access rules, and upper limits of bandwidth usage.
Then the following steps have to be performed to create and use a slice:
1. Some instance triggers slice creation by sending a mes¬ sage to the slice manager containing a slice description as described in the prerequisites.
2. The slice manager starts some algorithm to find an opti¬ mal mapping of the slice requirements to the actual network taking device capabilities, available resources, topology and slice requirements and assumed slice traffic into account. If resource conflicts occur, those may be resolved using the im¬ portance properties. The mapping process includes also the
identification of "inner" slice nodes, which is, finding an optimal path between the slice ends.
3. The slice manager now configures all nodes participating in that slice as well as all inner nodes to perform data for¬ warding with the desired QoS constraints.
4. If end devices are slice aware, they will create a vir¬ tual network interface used as a slice entry by the respec- tive applications.
Although the present invention has been described in accordance with preferred embodiments, it is obvious for a person skilled in the art that modifications are possible in all em- bodiments.
References
[1] M. J. Teener, R. Boatright, M. X. Mora, Standards-based Audio networks using IEEE 802.1 AVB, Whitepaper, Broadcom Inc, 2008, AVBforAES-200810.pdf
[2] Design Patterns: Elements of Reusable Object-Oriented Software by Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides, ISBN 978-0201633610 , ISBN 0-201- 63361-2, Addison Wesley Professional, November 10, 1994
[3] White Paper, Network Services Virtualization, Cisco
Inc., 2009,
http : //www .cisco . com/en/US /prod/collateral /switches/ps57 18/ps4324/white_paper_cll-531522.pdf
[4] M. Seaman, A Multiple VLAN Registration Protocol (MVRP) , IEEE, May 2004,
http: //ieee802. org/1 /files /public/docs2004 /MVRP- Introduction-030.pdf
[5] White Paper, IEEE 802. lak - MVRP and MRP, Cisco Inc., March 2009, IEEE802.1ak - MVRP and MRP [6] P. Frieden, VLANs on Linux, Linux Journal, March 2004,
http : //www . linuxj ournal . com/article/7268 ?page=0 , 2
[7] Eric W. Biedermann, Multiple Instances of the Global
Linux Namespaces, proceedings of the Linux Symposium, Volume One, July 19th-22nd, 2006, Ottawa, Ontario, Can- ada
[8] W. Maurer, Professional Linux® Kernel Architecture,
Wiley Publishing, Inc., USA, 2008, ISBN: 978-0-470- 34343-2,
[9] S. Shenker, C. Partridge, R. Guerin, "Specification of Guaranteed Quality of Service", RFC 2212, Sept. 1997
[10] L. Westberg, A. Csaszar, G. Karagannis, A. Marquetant, D. Partain, 0. Pop, V. Rexhepi, R. Szabo, A. Takacs, "Resource management in DiffServ (RMD) - A Functionality and Performance Behaviour Overview", Proceedings of the 7thIFIP/IEEE International Workshop on Protocols for High Speed Networks, Springer-Verlag London, UK, 2002
[11] N. McKeown, T. Anderson, H. Balakrishnan, G. Parulkar, L. Peterson, J. Rexford, S. Shenker, J. Turner, Open- Flow: Enabling Innovation in Campus Networks, White Paper, March 2008, www.openflow.org/
[12] The GENI Project Office, The GENI System Overview, Document ID: GENISE-SY-SO-02.0 , September 29, 2008, Cam¬ bridge, US, www.geni.net