WO2014102134A1 - A computer-implemented method and a system for providing a networking service, and a computer program product adapted to perform the method - Google Patents
A computer-implemented method and a system for providing a networking service, and a computer program product adapted to perform the method Download PDFInfo
- Publication number
- WO2014102134A1 WO2014102134A1 PCT/EP2013/077365 EP2013077365W WO2014102134A1 WO 2014102134 A1 WO2014102134 A1 WO 2014102134A1 EP 2013077365 W EP2013077365 W EP 2013077365W WO 2014102134 A1 WO2014102134 A1 WO 2014102134A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- software
- hardware
- location
- requirements
- based network
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/78—Architectures of resource allocation
- H04L47/783—Distributed allocation of resources, e.g. bandwidth brokers
-
- 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/14—Network analysis or design
- H04L41/145—Network analysis or design involving simulating, designing, planning or modelling of a network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5044—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5066—Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
-
- 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/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5041—Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
-
- 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/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/508—Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement
- H04L41/5096—Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement wherein the managed service relates to distributed or central networked applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
Definitions
- This invention generally relates, in first aspect, to a computer-implemented method for providing a networking service, comprising mapping software-based network functions to hardware resources, and more particularly to a method where said mapping is performed dynamically based on several sources of information regarding the software-based network functions, the hardware resource pool and some network requirements.
- a second aspect of the invention concerns to a system configured for implementing the method of the first aspect.
- a third aspect of the invention relates to a computer program product adapted to perform the method of the first aspect.
- SW software
- cores processing units
- SW applications require the code to be mapped in an optimal way to the processing units of the underlying hardware to maximise the number of cache hits in inter-core communications, which may speed up significantly the communication between those cores handling the biggest amounts of data.
- Current techniques of grid computing and virtualization [1] [2] [3]) do not take into account these specific requirements of mapping for network software and, hence, yield inadequate performance.
- mapping of network software to hardware (HW) at the "microscopic" level should be integrated in an overall network design approach that, additionally, took into account design criteria at the "macroscopic” level (topological and geographic network restrictions) as well as the difference in requirements at the micro level that some network control functionalities may have as opposed to those required by data plane and other very demanding and critical network control functionalities.
- processor vendors include one or more layers of high BW memory between the processor and the main memory, known as cache memory, which speeds up processing significantly.
- cache memory There are normally two levels of cache memory, one included typically in the system board and one in the processor chip.
- the amount of cache memory deployed in the system board is in the order of magnitude of megabytes compared to gigabytes of system memory.
- the amount of memory on chip is significantly smaller than the amount of on-board memory.
- cache memory in state-of-the-art processors is much faster than on-board cache memory.
- state-of-the-art processors include a subsystem that takes into account the effect of memory accesses and try to reorder the code in execution in such a way that cache memory hits are maximised. Execution speed, and thereby system throughput, can be very adversely impacted by the placement of individual instructions in the code program that cannot be handled by this subsystem. Therefore, state-of-the-art compilers incorporate all this knowledge and produce a code that ensures minimal processing throughput reduction due to memory accesses.
- Processors access memory to fetch code and data. Access to data needs also to be optimised in order to make the best use of the caching mechanisms. Fetching data which is not in the cache memory has a significant impact on system performance (this situation is called cache miss).
- the processing functionality is spread among different cores. Each core executes a specific portion of the code in an independent fashion. Communication between processes is implemented by means of message passing mechanisms—e.g. queues— using shared memory zones which require continuous accesses.
- Virtualisation is a term used to refer to the techniques by which a physical machine is made to appear as different virtual machines to different users, so that effective sharing of hardware resources can be achieved in a transparent fashion for the users.
- Vendors offering virtualisation-capable processors provide hardware (HW) acceleration features that help state-of-the-art virtualisation environments to minimise their impact on system throughput.
- HW hardware acceleration features that help state-of-the-art virtualisation environments to minimise their impact on system throughput.
- Intel offers VT-x, VT-d and other virtualisation extensions:
- VT-x provides virtualisation support for memory access. It provides a fast access to memory management registers inside the CPU.
- VT-d provides virtualisation support specific to accessing I/O devices. It allows using peripheral devices directly, by remapping direct memory access (DMA) and interrupts.
- DMA direct memory access
- processors are able to execute an increasing number of threads in parallel. Additionally, features have been added to the processors that help optimising access to memory or I/O. These characteristics of the system at the microscopic level are especially important for high throughput applications that interchange many data between their processes/threads, as is the case of network functionality applications in general and, particularly, for data-plane switching functions.
- the right distribution of the software threads/processes among the physical cores in a processor and between processors in a multi-socket system are a must in order to minimize the amount of data interchanged in the socket interconnection and I/O buses. With a sub-optimal distribution of the processes, the throughput that this software can manage will be considerably lower due to unnecessary saturation of internal buses.
- the virtualisation layer hides details such as the specific physical core(s) where an application is running or, even, if they belong to the same or different processors.
- network functionality SW designed for multi-core environments needs to be allocated in HW resources with precision in order to optimise the access to shared memory areas and minimise cache misses and buses utilisation. Therefore, optimisations defined during the SW production phase, especially all process distribution strategies, may be invalidated when a virtualisation layer is introduced.
- CloudScale elastic resource scaling for multi-tenant cloud systems.
- the present invention concerns, in a first aspect, to a computer- implemented method for providing a networking service, comprising mapping software- based network functions (understood as functionalities, implemented in software, that a network operator has to deploy to provide networking services to its customers) to hardware resources, wherein said hardware resources are included in a hardware resource pool, said pool referring to a collection of hardware nodes where different network functions are to be deployed.
- BRAS Broadband Remote Access Server
- CGNAT Carrier Grade Network Address Translation
- DHCP Dynamic Host Configuration Protocol
- mapping is performed dynamically on unallocated resources of said hardware resource pool and based on at least the next information:
- said specific hardware constraints information is provided without taking into account information about said hardware resource pool and said hardware description information is provided without taking into account information about said software-based network functions.
- Said software-based network functions are implemented, according to an embodiment, by software appliances, each implementing at least one software-based network function, and said specific hardware constraints information is provided by means of software appliance declarations including information regarding the network function or functions implemented and at least one specific hardware configuration recommended for the implementation thereof, where said software appliance declarations are generally provided by software appliance vendors.
- said hardware constraints refer at least to hardware requirements and to the expected performance for at least said specific hardware configuration to support each software- based network function of each software appliance.
- Said expected performance relates, according to an embodiment, to at least one of maximum amount of users supported, maximum number of devices supported, maximum number of service points served and maximum throughput supported.
- network requirements they relate, according to an embodiment, to at least software-based network functions to be deployed in Points of Presence and an amount of clients which need to be served, and are provided, generally, by a Network Operator.
- said network requirements are provided without taking into account information about hardware elements deployed in a given Point of Presence.
- the network requirements are provided by means of a networking service design definition with topological requirements (e.g. BRAS deployed at location x, each CGNAT node serving n BRAS nodes, etc.), throughput requirements for each software-based network function (e.g. router switching at least y Gbps) and connectivity requirements between said software-based network functions (e.g. upstream link for BRAS with 10 Gbps bandwidth).
- topological requirements e.g. BRAS deployed at location x, each CGNAT node serving n BRAS nodes, etc.
- throughput requirements for each software-based network function e.g. router switching at least y Gbps
- connectivity requirements between said software-based network functions e.g. upstream link for BRAS with 10 Gbps bandwidth.
- Said networking service design definition includes, for different embodiments, information relating at least one of:
- networking service control chains each detailing a set of software-based network functions that interchange control traffic required for a specific particular purpose of the networking service
- each network function area is a per- network function collection of locations of the hardware resource pool
- said hardware resource pool comprises, for a preferred embodiment:
- said hardware description provides information regarding the locations of the hardware resource pool, providing both the macroscopic and the microscopic view of each location, including at least one of location name, location classes, data plane connection available at the location, number of service points commissioned physically to the data plane connection of the location, number of hand- off points commissioned physically to the data plane connection of the location, list of connection interfaces that connect the location to the rest of the hardware resource pool and list of computational nodes at the location.
- said computational nodes are computing servers (or any other kind of computer device), and at least part of said connections are WAN (Wide Area Network) connections.
- WAN Wide Area Network
- microscopic or micro are used to refer to the computer architecture level. Therefore what is meant by microscopic view of a location is the detailed description of the servers deployed at that location at the computer architecture level, including processors, sockets, memory banks, etc. for each of the servers at the location;
- the method of the first aspect of the invention comprises, for a preferred embodiment, deploying said networking service by at least constituting a network with the hardware resources to which the software-based network functions are mapped, and the interconnection thereof.
- the method of the first aspect of the invention comprises deploying said networking service by interconnecting said constituted network with at least one external network.
- Said deployment is performed according to a deployment strategy generated by the method of the first aspect of the invention so that yields the above described appropriate mapping of the software-based network functions into a subset of unallocated resources of the hardware resource pool while meeting all the aforementioned restrictions.
- a second aspect of the invention concerns to a system for providing a networking service, comprising a hardware resource pool and a computing device having access to said hardware resource pool and to software-based network functions, where said computing device implements a method for providing a networking service comprising mapping software-based network functions to hardware resources of said hardware resource pool.
- said computing device implements the method of the first aspect.
- a third aspect of the invention concerns to a computer program product, comprising software code adapted to perform, when executed in a computer, the method of the first aspect of the invention.
- the main advantages of the proposed method, system and computer program are found in their allowing of software-based network functions to be deployed in a more efficient way than with today's methods, because it automatically selects the optimal match for the underlying hardware. It allocates networks functions in an optimal way (from a network performance point of view), offers the advantages of virtualization in terms of secure sharing of hardware resources (avoiding overprovisioning) and, at the same time, it takes into account the microscopic view of requirements of the network functions. Additionally, it enables the automation of the deployment cycle, reducing the costs to operate the whole network.
- Figure 1 is a block diagram which schematically illustrates the system of the second aspect of the invention, for an embodiment
- Figure 2 shows an implementation of a networking service offered by a network constituted by a HW pool on which SW-based network functions have been mapped, and which is connected to some external networks, according to the method of the first aspect of the invention, for an embodiment
- Figure 3 shows a graphical representation of the microscopic description of two SW appliances
- Figure 4 shows a Networking service design graphical example obtained by means of the mapping of the method of the first aspect of the invention
- Figure 5a shows a graphical representation of the microscopic view of a node
- Figure 5b shows a simplified graphical example of a HW resource pool description
- Figure 6 is a flow chart of a mapping sequence for a given SW appliance, for an embodiment of the method of the first aspect of the invention.
- the system of the second aspect of the invention comprises, for the illustrated embodiment, a computing device (1 ) in charge of the mapping of SW-based Network Functions, implemented by means of SW appliances, to specific HW resources of a HW pool, implementing the method of the first aspect of the invention.
- the system uses three distinct inputs towards the computing device (1 ), to achieve the mapping of SW appliances to HW resources:
- SW appliance declarations are provided by the SW appliance vendors, describing the amount of users, devices, throughput, etc. which can be supported in a specific HW configuration of the SW appliance implementing a Network Function.
- the SW appliance vendor ignores what will be the actual HW elements where the SW appliance will be deployed in the end.
- the Networking service Design Definition is provided by the Network Operator, who defines their service as a set of requirements in terms of Network
- PoPs Points of Presence
- clients users, devices, etc.
- the network operator may add additional restrictions for some of these network functions. For example, one such restriction could impose that a CDN capabilities are deployed as close as possible to the end-customers to be served. However, the details about COTS elements deployed in a given PoP and how they are interconnected are hidden to the Network Operator in this process.
- HW pool description is provided by a COTS HW integrator, who specifies the microscopic view of the HW components deployed in the PoPs. This agent ignores the SW-based functions which might be deployed in the HW pool in the future.
- the system produces a SW to HW mapping (5) that is used to deploy the SW-based Network Functions on the HW pool.
- the Network Operator is relieved from performing the SW-to-HW mappings.
- the network level requirements supplied by the Network Operator and the specifications provided by the SW Appliance Vendor are combined by the system to deploy SW Appliances in the best possible location in the HW pool. These specifications include performance guarantees for a specific SW Appliance on given HW and Virtualisation environment.
- the mapping process also handles conflicts and other situations, where a deployment is not possible.
- the SW to HW mapping produced enables the HW pool to provide a given networking service to a collection of service points.
- the networking service may optionally include provision of a percentage of data hand-off to external networks at selected data hand-off points. Traffic flowing in the direction from a service point towards the hand-off point is called in the context of this invention upstream traffic, whereas traffic flowing in the direction from the hand-off points to the service points is called downstream traffic.
- FIG. 2 An implementation of such a networking service is depicted in Figure 2, where such a service is offered to several Service Points (#1 ...#n) by a network constituted by a HW pool on which SW-based network functions have been mapped, and at selected data hand-off points (#1 ...#m) to external networks.
- Service Points #1 ...#n
- HW pool On which SW-based network functions have been mapped
- data hand-off points #1 ...#m
- the network operator deploys a new networking service effectively turning the HW pool into a network.
- the resultant network is built around the geographic locations of the HW pool where a number of servers based on Commercial Off-The-Shelf (COTS) equipment components are deployed. These servers are interconnected within the location via a local interconnection data plane and to other sites via Wide Area Network (WAN) interfaces.
- COTS Commercial Off-The-Shelf
- WAN Wide Area Network
- the resultant networking service is implemented by means of a collection of Network Functions, implemented by a set of software (SW) appliances, interconnected as instructed by the Networking service Design supplied by the network operator.
- SW appliance declaration :
- SW Appliances are defined by the implemented functionality, and their expected performance for a given HW requirements. These features are expressed in a SW appliance declaration in the form of a template including:
- NFs Network Functions
- BRAS NF BRAS NF
- NF2 CGNAT NF
- Chain NF implemented: BRAS->CGNAT.
- Expected performance expressed as the maximum number of service points served, maximum traffic supported, and any other performance figure relevant for the NF implemented by this SW appliance, which can be handled by one instance of the appliance in this HW configuration.
- a Number and type of threads implementing the SW appliance.
- b Groupings of threads (for throughput purposes, the SW appliance may need to execute some threads in processor cores which share resources, like cache memory, etc.).
- SW Appliance needs exclusive access to the resources it is assigned by the mapping system (for example exclusive use of a core, exclusive use of an interface card) or if the resources can be shared among several SW Appliances. If the SW appliance needs exclusive use to the mapped resources (typically, those related to the data plane of the network), it will have to be mapped to servers in the HW pool that provide an appropriate view of their resources (e.g. the hypervisor does not hide the cores, processors, etc., used by a given piece of software running on top of it).
- the mapping system for example exclusive use of a core, exclusive use of an interface card
- the resources can be shared among several SW Appliances. If the SW appliance needs exclusive use to the mapped resources (typically, those related to the data plane of the network), it will have to be mapped to servers in the HW pool that provide an appropriate view of their resources (e.g. the hypervisor does not hide the cores, processors, etc., used by a given piece of software running on top of it).
- Each SW appliance declaration is provided by the SW developer/vendor that produces the SW appliance.
- the same vendor can provide several SW appliances declarations if the same piece of SW implementing a Network Function achieve different performance figures with different HW configurations.
- Figure 3 shows a graphical representation of the microscopic description of two
- SW appliances making use of letters a to f to represent variables for the HW requirements of each SW appliance.
- Each letter corresponds to a value corresponding to a HW requirement category in the template as defined above using the same letters for each category. Therefore, value a, makes reference to a thread in the SW appliance, b, makes to a grouping of threads (grouping of a, values) as defined by the graphical representation and so on for the rest of categories in the template that are shown in the graphical example (a to f).
- SW appliance declarations to be taken into account by the system are fed to the SW-to-HW mapping system in the collection of SW appliances declarations (2).
- SW appliances declarations can be stored in a repository for its use by the SW-to-HW mapping system, for instance, as XML files specified by an XSL template reflecting a list of instances of the SW appliance template.
- a network operator that wants to deploy a networking service making use of the HW pool and a collection of SW appliances must provide a Networking service Design Definition to the mapping system so that this can conduct the SW-to-HW mapping.
- the Networking service Design definition is expressed in terms of a template that includes:
- the data chain explicit the list of Network Functions that must be applied to the data traffic ingressing the network from the service points in the upstream direction.
- An example data chain for an Internet access networking service could be Service Point->BRAS->CGNAT->hand-off.
- the reverse data chain implicitly applies to the traffic on the reverse direction.
- the first NF in the data chain after the Service Point is known as the Edge
- the BRAS NF is the Edge NF.
- the traffic gain as a ratio of data traffic entering the Network Function and data traffic being output by the Network Function.
- a unicast router has a 1 :1 ratio
- a multicast router or a Content Delivery Network node can be modelled with a 1 :N ratio.
- the overall network hand-off ratio could be as high as 95%. If a specific Network Function behaves in a split horizon fashion (no upstream traffic is sent back in the direction of the service points) this ratio is 100%. If data traffic from a service point is destined to another service point in the network, the traffic will turn direction on the first NF that allows for turning upstream traffic into downstream traffic (that means that the NF has a hand-off ratio less than 100%).
- a control chain details a set of NFs that interchange control traffic required for a specific particular purpose of the networking service. For one networking service, several control chains are possible with different sets of NFs involved. For instance for a Broadband DHCP based Internet access service, there may exist 2 control chains:
- Control Chain #1 BRAS NF-DHCP server NF.
- This control chain enables the handling by the HW pool of the DHCP requests received at the service points attached to the BRAS, as part of the networking service being provided with this Networking service Design Definition.
- Control Chain #2 BRAS NF - RADIUS server NF
- This control chain enables the generation of RADIUS requests based on traffic activity after a timeout received at the service points attached to the BRAS, as part of the networking service being provided with this Networking service Design Definition.
- a Network Function area is a per-NF collection of locations of the HW pool so that it is enforced that the traffic from service points attached to any location of the NF area addressed to service points that belong to other areas of the same NF will be applied the corresponding Network Function in a SW appliance deployed in the NF area before leaving the NF area.
- a Networking service Design Definition may define CGNAT areas.
- Each CGNAT area is a collection of possible locations for the CGNAT function to be applied to traffic from customers connected to any of the locations in the CGNAT area.
- the number of service points covered in a NF area determines the dimensioning of the NF aggregate capacity that has to be deployed in the NF area by means of SW appliances that implement the NF.
- the assignment of the SW appliances to HW resources in the NF area will be conducted as part of the method of the mapping system.
- the aggregate capacity for the NF is the one that serves all the service points attached to the HW pool and the whole HW pool is considered as a candidate for location of the SW appliances implementing the aggregate NF capacity.
- the network operator can exclude specific locations as candidates for deploying the NF, just by leaving these locations out of the NF area. 5. A set of preconditions on the HW pool regarding NF placement.
- the network operator desires to further influence the placement of specific NFs on specific locations it can make use of a precondition that marks the location as "not available for NF #X".
- the Networking service Design Definition for each NF with preconditions will include a list of the locations, or classes of locations, affected by the precondition.
- the Networking service Design Definition may include 2 preconditions:
- ⁇ Not available for CGNAT all locations in the Access Center class of locations.
- the HW pool description (3) provides definition of the classes that each location in the HW pool belongs to.
- the network operator can for instance limit a NF #X to be deployed at a specific location by marking all but one location as "not available for NF #X".
- the Networking service Design Definition can be stored, for instance, as an
- Figure 4 shows a simplified graphical example of a networking service design, involving a BRAS, a DHCP, a DPI, a CGNAT, a Firewall, a Router and a CGSN (Combined General Packet Radio Service Support Node).
- the HW pool description provides a detailed list of the locations of the HW pool, providing both the macroscopic and the microscopic view of each location.
- the internal connectivity available between the nodes, the service points and the hand-off points in a location is modelled as an any-to-any data plane of a given amount of "backplane" bandwidth (e.g. 100 Gb/s). Number of service points.
- Any location hosting service points is known as an Edge Location. Number of hand-off points.
- Hand-off Location Any location hosting hand-off points is known as a Hand-off Location. List of WAN interfaces that connect this location to the rest of the HW pool. For each interface it will be listed:
- Type and speed of the WAN interface e.g. 100Gb/s Ethernet.
- peer location For point-to-point interfaces, peer location. The location name of the end- point of the point-to-point WAN interface. Detailed list of servers at the location (microscopic view of the location).
- processor cores Interconnection between processor cores and interface cards. If this interface is attached to a specific grouping of processor cores directly, or not using a South Bridge.
- kind of pool data or control plane pool.
- SW appliances that have tight performance requirements typically, those related to the data plane of the network
- SW appliances that have tight performance requirements require a tight coupling with the hardware details exposed to the virtualization environment on top of which they are deployed.
- the area of the pool of HW resources that provide this level of HW view detail, and where network functions of this kind can be deployed, will be called “pool for the data plane”.
- Network functions that do not have tight performance requirements might be mapped to a less stringent HW pool, called “pool for the control plane", when available, although it is possible to map them to the “pool for the data plane” when there are no vacant resources in the “pool for the control plane” or even if this pool does not exist at all.
- Control Plane refer to the Network Functions that implement control procedures so that forwarding of packets can be carried out
- Data Plane refers to the Network Functions that take part in the forwarding of the data packets to be carried in the network.
- Figure 5a shows a graphical representation of the microscopic view description of a node making use of letters A to F to represent variables for its physical resources.
- Each letter corresponds to a value corresponding to a physical resource category in the node template as defined above using the same letters for each category. Therefore, value A makes reference to a processor on the board, B, makes to a grouping of processors (grouping of A values) as defined by the graphical representation and so on for the rest of categories in the template that are shown in the graphical example (A to F).
- the HW pool description can be stored, for instance, as an XML file specified by an XSL template reflecting a list of instances of the location template, for its use by the SW-to-HW mapping system.
- FIG. 5b shows a simplified graphical example of a HW pool description, where three physical locations are interconnected by a WAN through respective Data Plane Connection Interfaces, each physical location comprising a process pool including n computational nodes, and a storage pool including a plurality of storage devices (memories and/or hard drive disks).
- SW to HW mapping method :
- the SW-to-HW mapping method uses both the macroscopic and microscopic views that are defined by the three inputs to the system:
- the SW-to-HW mapping method runs to find a solution in an iterative way characterised by the fact that at discrete points in the algorithm logic, and to eventually proceed, it is enforced to perform the following "mapping sequence" of events as shown in the flow chart of the embodiment of Figure 6:
- the algorithm logic will start applying the preconditions and the partitioning available at the networking service design to account for a reduction of complexity of the remaining problem after their application.
- the algorithm logic will be such that it optimises some criteria (e.g. the WAN bandwidth, the used HW resources, the number of locations used) for a given networking service.
- the network operator is free to envision and use the logic that best suits its needs.
- the algorithm will perform "mapping sequences" as described previously either for performing final mappings or for performing temporary tentative mappings as part of its iterative behaviour.
- the algorithm will iterate till an assignment that meets all the requirements is found. If a valid mapping is not found after a predefined set of iterations, the method concludes with an error condition, indicating that there are no enough available resources in the HW pool.
- an embodiment of the method of the first aspect of the invention is describes, said embodiment defining an example method to map SW-based network functions to HW resources of a pool is an iterative process that is described in the following stages:
- the system tries the SW appliances from the collection of SW appliances declarations that implement the Edge NF that provide a performance that is over the Edge NF aggregate capacity required at the Edge Location, starting with the SW appliance with the smallest performance figure.
- the systems records the mapping and marks the HW resources as used. If a match is not found for some Edge Location, the method is finished with an error condition.
- the aggregate capacity for the NF in the NF area is calculated from the number of service points that are commissioned in locations of the NF area and its traffic characteristics for the networking service. ii. If the NF has a traffic gain over a 1 :1 ratio or if the NF has a small hand- off ratio (the small threshold being a configurable value), the SW appliance with the smallest performance figure for that NF (minimal SW appliance for the NF) is selected and the system tries to map resources using that minimal SW appliance starting with the locations that are closer to the location hosting the previous NF in the data chain for that NF area. As many minimal SW appliances are mapped as required till the aggregate capacity for the NF in the NF area is reached. If the resources for mapping the minimal SW appliances are not available considering all possible locations in the NF area, the method is finished with an error condition.
- the SW appliance with the smaller performance figure that is over NF area aggregate capacity is selected.
- the system tries to map resources using that SW appliance starting with the location that is farther from the location hosting the previous NF in the data chain for that NF area. If not enough HW resources are available at this location, the system iterates this check with locations closer to the previous NF. If a location with available resource is found, it is selected and mapped. If no location is found, the system divides the NF area in smaller NF areas and reapplies the steps of this stage for this NF. If no subdivision is possible and no mapping is possible, the method is finished with an error condition. ontrol Chains NF mapping.
- the aggregate capacity for the NF in the NF area is calculated from the number of service points that are commissioned in locations of the NF area and its traffic characteristics for the networking service regarding the average service point control requests rate.
- the SW appliance with the smaller performance figure that is over NF area aggregate capacity is selected.
- the system tries to map resources using that SW appliance starting with the location that is farther from the location hosting the previous NF in the control chain for that NF area. If not enough HW resources are available at this location, the system iterates this check with locations closer to the previous NF. If a location with available resource is found, it is selected and mapped. If no location is found, the system divides the NF area in smaller NF areas and reapplies the steps of this stage for this NF. If no subdivision is possible and no mapping is possible, the method is finished with an error condition.
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Stored Programmes (AREA)
Abstract
Description
Claims
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/652,206 US9774542B2 (en) | 2012-12-27 | 2013-12-19 | Computer-implemented method and a system for providing a networking service, and a computer program product adapted to perform the method |
EP13814117.1A EP2939366B1 (en) | 2012-12-27 | 2013-12-19 | Computer-implemented method and a system for providing a networking service, and computer program product adapted to perform the method |
BR112015014198-6A BR112015014198B1 (en) | 2012-12-27 | 2013-12-19 | COMPUTER-IMPLEMENTED METHOD FOR PROVIDING A NETWORK SERVICE, SYSTEM FOR PROVIDING A NETWORK SERVICE, AND COMPUTER-READable MEDIA |
ES13814117.1T ES2607636T3 (en) | 2012-12-27 | 2013-12-19 | Method implemented by computer and system to provide a network connection service and a computer program product adapted to perform the method |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP12382539.0A EP2750328A1 (en) | 2012-12-27 | 2012-12-27 | Computer-implemented method and system for providing networking service, and computer program product adapted to perform the method |
EP12382539.0 | 2012-12-27 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2014102134A1 true WO2014102134A1 (en) | 2014-07-03 |
Family
ID=47598656
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/EP2013/077365 WO2014102134A1 (en) | 2012-12-27 | 2013-12-19 | A computer-implemented method and a system for providing a networking service, and a computer program product adapted to perform the method |
Country Status (5)
Country | Link |
---|---|
US (1) | US9774542B2 (en) |
EP (2) | EP2750328A1 (en) |
BR (1) | BR112015014198B1 (en) |
ES (1) | ES2607636T3 (en) |
WO (1) | WO2014102134A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107450923A (en) * | 2017-07-28 | 2017-12-08 | 郑州云海信息技术有限公司 | A kind of Program Realizing Method and device for customizing baseline separation |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10116514B1 (en) * | 2015-03-30 | 2018-10-30 | Amdocs Development Limited | System, method and computer program for deploying an orchestration layer for a network based on network function virtualization (NFV) |
JP6408602B2 (en) * | 2014-03-24 | 2018-10-17 | 華為技術有限公司Huawei Technologies Co.,Ltd. | Method and communication unit for service implementation in an NFV system |
US11218552B2 (en) * | 2014-09-25 | 2022-01-04 | Telefonaktiebolaget Lm Ericsson (Publ) | Network functions virtualization in ad-hoc groups |
US10339600B1 (en) * | 2015-12-18 | 2019-07-02 | EMC IP Holding Company LLC | Application platform reverse auction |
CN107220120A (en) * | 2016-03-21 | 2017-09-29 | 伊姆西公司 | Method and apparatus for delivering software solution |
WO2018023338A1 (en) | 2016-08-01 | 2018-02-08 | 华为技术有限公司 | Network-function management method and network-function management device |
CN108306971B (en) * | 2018-02-02 | 2020-06-23 | 网宿科技股份有限公司 | Method and system for sending acquisition request of data resource |
GB202211264D0 (en) * | 2022-08-02 | 2022-09-14 | Microsoft Technology Licensing Llc | Site network service design |
GB2625358A (en) * | 2022-12-15 | 2024-06-19 | Imagination Tech Ltd | Hardware mapping |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1372073A2 (en) * | 2002-06-10 | 2003-12-17 | Hewlett-Packard Company | Mapping service demands in a distributed computer system |
US20050021831A1 (en) * | 2003-07-25 | 2005-01-27 | Artur Andrzejak | Determining placement of distributed application onto distributed resource infrastructure |
US20070220586A1 (en) * | 2006-03-01 | 2007-09-20 | Norman Salazar | Computing resource assignment method and apparatus using genetic algorithms |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9436459B2 (en) * | 2010-05-28 | 2016-09-06 | Red Hat, Inc. | Generating cross-mapping of vendor software in a cloud computing environment |
US9847915B2 (en) * | 2013-01-11 | 2017-12-19 | Huawei Technologies Co., Ltd. | Network function virtualization for a network device |
US9973375B2 (en) * | 2013-04-22 | 2018-05-15 | Cisco Technology, Inc. | App store portal providing point-and-click deployment of third-party virtualized network functions |
EP3332332A4 (en) * | 2015-08-25 | 2018-08-08 | Huawei Technologies Co., Ltd. | System and method for network function virtualization resource management |
-
2012
- 2012-12-27 EP EP12382539.0A patent/EP2750328A1/en not_active Withdrawn
-
2013
- 2013-12-19 ES ES13814117.1T patent/ES2607636T3/en active Active
- 2013-12-19 BR BR112015014198-6A patent/BR112015014198B1/en active IP Right Grant
- 2013-12-19 EP EP13814117.1A patent/EP2939366B1/en active Active
- 2013-12-19 WO PCT/EP2013/077365 patent/WO2014102134A1/en active Application Filing
- 2013-12-19 US US14/652,206 patent/US9774542B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1372073A2 (en) * | 2002-06-10 | 2003-12-17 | Hewlett-Packard Company | Mapping service demands in a distributed computer system |
US20050021831A1 (en) * | 2003-07-25 | 2005-01-27 | Artur Andrzejak | Determining placement of distributed application onto distributed resource infrastructure |
US20070220586A1 (en) * | 2006-03-01 | 2007-09-20 | Norman Salazar | Computing resource assignment method and apparatus using genetic algorithms |
Non-Patent Citations (1)
Title |
---|
DIEGO LOPEZ ET AL: "Network Functions Virtualisation - Introductory White Paper", SDN AND OPENFLOW WORLD CONGRESS, 24 October 2012 (2012-10-24), Darmstadt, Germany, XP055065301 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107450923A (en) * | 2017-07-28 | 2017-12-08 | 郑州云海信息技术有限公司 | A kind of Program Realizing Method and device for customizing baseline separation |
Also Published As
Publication number | Publication date |
---|---|
EP2939366A1 (en) | 2015-11-04 |
US20150326496A1 (en) | 2015-11-12 |
BR112015014198B1 (en) | 2022-08-30 |
US9774542B2 (en) | 2017-09-26 |
EP2750328A1 (en) | 2014-07-02 |
BR112015014198A2 (en) | 2017-07-11 |
ES2607636T3 (en) | 2017-04-03 |
EP2939366B1 (en) | 2016-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2939366B1 (en) | Computer-implemented method and a system for providing a networking service, and computer program product adapted to perform the method | |
US10931507B2 (en) | Systems and methods for selectively implementing services on virtual machines and containers | |
Rabbani et al. | On tackling virtual data center embedding problem | |
US8762999B2 (en) | Guest-initiated resource allocation request based on comparison of host hardware information and projected workload requirement | |
US12063148B2 (en) | Orchestrating configuration of a programmable accelerator | |
Gupta et al. | Optimizing VM Placement for HPC in the Cloud | |
WO2017080391A1 (en) | Network service deployment method and device | |
Karras et al. | A hardware acceleration platform for AI-based inference at the edge | |
Yue et al. | Throughput optimization and delay guarantee VNF placement for mapping SFC requests in NFV-enabled networks | |
US9112769B1 (en) | Programatically provisioning virtual networks | |
Kim et al. | CF-CloudOrch: container fog node-based cloud orchestration for IoT networks | |
Seth et al. | Dynamic heterogeneous shortest job first (DHSJF): a task scheduling approach for heterogeneous cloud computing systems | |
CN110198364B (en) | Container cloud distributed training data communication method based on designated DNS analysis | |
Bayless et al. | Scalable constraint-based virtual data center allocation | |
CN110297670A (en) | A kind of method and system improving distributed task scheduling training effectiveness on container cloud | |
Alaluna et al. | Secure multi-cloud network virtualization | |
US20230138867A1 (en) | Methods for application deployment across multiple computing domains and devices thereof | |
Wang et al. | Energy-aware dynamic resource allocation in container-based clouds via cooperative coevolution genetic programming | |
Huang et al. | A quantum computing simulator scheme using MPI technology on cloud platform | |
Filippini et al. | SPACE4AI-R: a runtime management tool for AI applications component placement and resource scaling in computing continua | |
Zhang et al. | Repeatable multi-dimensional virtual network embedding in cloud service platform | |
Caixinha et al. | ViTeNA: an SDN-based virtual network embedding algorithm for multi-tenant data centers | |
Geier et al. | SherlockFog: a new tool to support application analysis in Fog and Edge computing | |
Manoj et al. | RDAD: an efficient distributed multi-layered resource handler in jungle computing | |
MEMON et al. | A technique to differentiate clustered operating systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 13814117 Country of ref document: EP Kind code of ref document: A1 |
|
DPE1 | Request for preliminary examination filed after expiration of 19th month from priority date (pct application filed from 20040101) | ||
WWE | Wipo information: entry into national phase |
Ref document number: 14652206 Country of ref document: US |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
REG | Reference to national code |
Ref country code: BR Ref legal event code: B01A Ref document number: 112015014198 Country of ref document: BR |
|
REEP | Request for entry into the european phase |
Ref document number: 2013814117 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2013814117 Country of ref document: EP |
|
ENP | Entry into the national phase |
Ref document number: 112015014198 Country of ref document: BR Kind code of ref document: A2 Effective date: 20150616 |