WO2014135793A1 - Method for allocating resources for implementing virtual networks in a telecommunication network - Google Patents

Method for allocating resources for implementing virtual networks in a telecommunication network Download PDF

Info

Publication number
WO2014135793A1
WO2014135793A1 PCT/FR2014/050491 FR2014050491W WO2014135793A1 WO 2014135793 A1 WO2014135793 A1 WO 2014135793A1 FR 2014050491 W FR2014050491 W FR 2014050491W WO 2014135793 A1 WO2014135793 A1 WO 2014135793A1
Authority
WO
WIPO (PCT)
Prior art keywords
resource
routing nodes
packets
virtual
network
Prior art date
Application number
PCT/FR2014/050491
Other languages
French (fr)
Inventor
Qing SHEN
Original Assignee
Orange
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Orange filed Critical Orange
Publication of WO2014135793A1 publication Critical patent/WO2014135793A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/72Admission control; Resource allocation using reservation actions during connection setup
    • H04L47/724Admission control; Resource allocation using reservation actions during connection setup at intermediate nodes, e.g. resource reservation protocol [RSVP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2854Wide area networks, e.g. public data networks
    • H04L12/2856Access arrangements, e.g. Internet access
    • H04L12/2869Operational details of access network equipments
    • H04L12/2878Access multiplexer, e.g. DSLAM
    • H04L12/2887Access multiplexer, e.g. DSLAM characterised by the offered subscriber services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/82Miscellaneous aspects
    • H04L47/825Involving tunnels, e.g. MPLS

Definitions

  • the invention relates to a resource allocation method for the implementation of virtual networks in a telecommunications network and applies in particular to the field of virtual networks.
  • network virtualization The set of techniques enabling the use and implementation of virtual networks is usually referred to using the term "network virtualization”. Although this expression includes the neologism "virtualization” derived from the English word “virtualization”, it is used in the description because it is commonly used by those skilled in the art.
  • the purpose of network virtualization is to share the same telecommunication network infrastructure or different telecommunication network infrastructures. For this, virtual networks isolated from each other are created.
  • the resources to be shared between the different virtual networks can be computing resources, memory and / or bandwidth. If the telecommunication network is used to convey data associated with different services, the virtualization of the networks allows to distribute them on several independent virtual networks.
  • VPNs acronym from the term “Virtual Private Network”
  • VLANs acronym from the term “Virtual Local Area Network”
  • VC networks including virtual circuits are known examples implementing the technique network virtualization.
  • Cloud computing commonly referred to as “Cloud Computing” is one of the areas for which virtualization techniques are used. Indeed, the sharing of resources is particularly important in this case so that operators can achieve savings and size their networks as best as possible. As such, network virtualization is one of the tools to make the use of cloud computing realistic, both from a technical and a financial point of view. This technique is particularly useful at the level of the IaaS layer, an acronym derived from the English expression "Infrastructure as a Service”.
  • An object of the invention is in particular to overcome the aforementioned drawbacks.
  • the subject of the invention is a method for allocating resources for implementing a virtual network in a telecommunication network comprising a plurality of routing nodes, this method comprising the following steps implemented. by at least one of the routing nodes:
  • a processing resource comprising a portion of the computing resources and the memory of the routing node is allocated to the data stream, which also makes it possible to reserve, for the service in question, processing resources at the level of the routing nodes involved in the virtual network.
  • the packet reception and resource allocation steps are implemented successively by each of the routing nodes through which the packets of the data stream transit, which allows an immediate and progressive reservation, node by node, resources allocated to the service via the virtual network.
  • the method comprises verifying, for each of the routing nodes through which the data stream packets are transiting, the availability of the at least one resource following the reception of the packets of the data stream. allocating this at least one resource being implemented after verifying the availability of said at least one resource by all of said routing nodes through which the packets of the data stream transit.
  • the routing nodes after verifying the availability of said at least one resource, send a message to a network controller indicating whether this at least one resource is available, and, when the set of routing nodes by which transit packets of the data stream have indicated that at least one resource is available, sending the controller to these routing nodes an allocation message of the at least one resource to the data stream.
  • the at least one resource relating to a virtual tunnel is a part of the bandwidth, the maximum bit rate or the maximum capacity of the virtual tunnel, which makes it possible to use this virtual tunnel for different types of service.
  • the field indicating the type of service is the ToS field of the IP header of the packets of the data stream.
  • the at least one allocated resource is released when no packet of the data stream has been received during an observation period, thereby making these resources available to others. services when they are no longer used.
  • the routing nodes contain a configuration table in which is stored a correspondence between at least one value of the field indicating the type of service and at least one resource relating to a virtual tunnel to another of the nodes
  • the method further comprises, following the reception of the packets of the data stream, consulting the configuration table in order to deduce the resource relating to a tunnel allocated according to this correspondence.
  • an allocation rule defined by default in the configuration table, is used to allocate the at least one resource when the value of the field has no equivalent in the configuration table, which allows the creation of virtual networks for services not originally planned.
  • a message is sent to a network controller when the value of the field has no equivalent in the configuration table, this network controller returning to the routing node an allocation rule to use to allocate the at least one resource.
  • the invention also proposes a network controller comprising means for initializing and updating configuration tables stored in apartment routing nodes in a telecommunication network, these configuration tables memorizing a correspondence between at least one value of a network. field, present in the packet headers of a data stream and indicating the type of service with which said stream is associated, and at least one resource relating to a virtual tunnel between two of said routing nodes.
  • the invention further proposes a telecommunication system composed of a plurality of routing nodes and at least one network controller, the routing nodes comprising means for implementing the method above, and the controller comprising means for updating the configuration tables stored by the routing nodes.
  • the controller is configured to update the routing tables using the OpenFlow protocol.
  • the network controller and one of the routing nodes can be implemented within the same equipment.
  • FIGS. 1A to 1C illustrate the principle of network virtualization
  • Figure 2 gives an example of a network architecture and introduces how the OpenFlow standard protocol can be used
  • FIG. 3 schematically illustrates the steps of a method of allocating resources to virtual networks
  • FIGS. 4A to 4E illustrate an example of virtual network creation according to a first embodiment of the invention.
  • FIGS. 5A and 5B illustrate an example of virtual network creation according to a second embodiment of the invention.
  • FIGS. 1A-1C illustrate the principle of network virtualization.
  • FIG. 1A illustrates an example of a telecommunication network comprising an infrastructure composed of six routing nodes 101 to 106. Each of these routing nodes can directly exchange (links 107 to 115) digital data with three other nodes. routing of the network through the implementation of appropriate protocols and physical resources. Thus, the routing node 101 can directly exchange (links 107, 108 and 113) digital data with the three routing nodes 102, 104 and 106.
  • FIG. 1B it is possible to create a first virtual network 116 composed of five routing nodes 101, 102, 104, 105, 106 selected from among the six routing nodes of the telecommunication network infrastructure. Virtual tunnels 117 to 122 are then configured to allow the selected routing nodes to exchange data with each other.
  • Figure 1C illustrates a second virtual network 123 based on the network infrastructure shown in Figure 1A. To dial it, five routing nodes 101 to 105 are selected and six virtual links 124 to 129 are configured between these nodes.
  • routing nodes are used simultaneously for both. It is therefore necessary to share the resources of these routing nodes between the two virtual networks 116 and 123 to which they are allocated, whether it is the intrinsic processing resources at the nodes themselves or the resources relating to the virtual links connecting these common nodes. to both networks.
  • FIG. 2 gives an example of network architecture and introduces how the OpenFlow (registered trademark) standard protocol can be used.
  • the architecture thus presented comprises five routing nodes 200 to 204 located in a transport plane as defined in this protocol, as well as a network controller 205, located in a control plane as defined in this protocol.
  • the routing nodes include transmission means for exchanging data with another routing node or the network controller, as well as processing means (typically a data processing processor, associated with a random access memory and a data processor). read-only memory able to store in particular a configuration table as described below) configured to implement the method described below.
  • the network controller also comprises transmission means for the exchange of data with each of the routing nodes as well as processing means (typically a data processing processor associated with a random access memory and a read only memory) for the implementation of the method described later.
  • a configuration table is stored in each routing node.
  • This configuration table contains a set of fields to identify the streams of data received by the nodes and route these streams to other nodes following rules. predefined by this table.
  • the OpenFlow protocol makes it possible to program the configuration tables thus stored. It is then possible to control different streams by intelligently choosing the paths taken by the packets associated with them and the way they are treated.
  • the OpenFlow protocol makes it possible to create different virtual networks by programming, via a controller 205, configuration tables stored in the routing nodes.
  • the establishment of virtual networks makes it possible to share the hardware resources and thus to improve the profitability for the operator of the network.
  • the method according to the invention introduces a mechanism that takes into account the type of service associated with the data streams so as to allow optimized management of the capacity of the virtual networks according to the needs associated with these services.
  • a telecommunication operator implementing the invention in his network can then finely control the priority of the services relative to each other by playing in particular on the amount of resources allocated to the different active virtual networks.
  • the invention relies on a network infrastructure composed of routing nodes.
  • the infrastructure may also include at least one network controller.
  • a routing node performs routing and resource allocation functions.
  • a network controller is a device that makes it possible, in particular, to configure the routing nodes of the network.
  • the invention can be implemented within a network in which the routing nodes and the controllers correspond to equipment that is distinct from each other.
  • the infrastructure may include at least one device acting as both a routing node and a controller. For the sake of simplification of the presentation, the principle of the invention is described below assuming that the routing nodes and the network controllers are implemented in separate devices.
  • FIG. 3 schematically illustrates the steps of a method of allocating resources to virtual networks according to the invention.
  • a virtual network is created by allocating a portion of the resources available in the network infrastructure.
  • the allocation mechanism takes into account the type of service associated with the data flow.
  • the type of service corresponds to the quality of service required for the transmission of the stream, that is to say to parameters such as the loss of packet tolerance, the maximum delay between the transmission and the reception of a packet. package, as well as other parameters well known to man of career.
  • the notion of type of service is taken into account by the routing nodes of the network by analyzing the headers of the packets of the stream.
  • the ToS field an acronym derived from the English expression "Type of Service”, is used for this purpose.
  • This field indicative of the type of service associated with a data flow, is included in the IP header of the packets and contains information about the quality of service required for the transmission of the data stream.
  • the controller transmits configuration tables to the various routing nodes of the network, which are then stored in the various routing nodes of the network.
  • a configuration table contains a set of allocation rules to follow when setting up virtual networks. Once these rules are defined, the method according to the invention executed by the routing nodes allows this allocation of resources.
  • a configuration table can include several ToS field values with which a set of allocation rules is associated. These configuration tables are for example initially programmed by the operator of the telecommunications network.
  • a given routing node When a given routing node receives (step 300) one or more packets belonging to a data stream, it analyzes (step 301) these packets so as to determine the type of service associated with them, which is therefore associated with the flow of data. data, for example by extracting the value of the ToS field in these packets.
  • the configuration table stored in the routing node is then consulted (step 302) in order to check whether a virtual network already exists for this type of service, in which case this existing virtual network is used for the transmission of the packets of the stream.
  • the routing node allocates (step 303) then a set of resources, in order to participate in the creation of a new network.
  • virtual server to support this service by transporting the data stream, following the rules defined in its configuration table.
  • the resources allocated by a routing node to the creation of a virtual network correspond, on the one hand, to resources relating to a virtual tunnel to another routing node of the network through which the data packets of the data stream transit. to provide the required service.
  • Such resources may correspond to all the resources of the virtual tunnel itself, in its entirety, when it is desired to reserve the entire virtual tunnel between two routing nodes to the only service required via the stream received. .
  • these resources may correspond to a portion of the resources of the virtual tunnel. So, when the virtual tunnel between the two nodes has a band maximum throughput, maximum throughput, or maximum capacity, the resources in question correspond to a portion of these parameters, which may depend on the type of service indicated in the packet field.
  • minimum resources corresponding to 4 Mbit can be allocated to a particular type of service such as video, and used by data streams. generated by this service.
  • the resources allocated by a routing node to the creation of a virtual network can correspond, on the other hand, to processing resources intrinsic to the routing node, used to set up a processing instance for creation of the virtual network.
  • processing resources may typically correspond to computational and memory resources of the routing node. Similar to virtual tunnel resources, a larger or smaller portion of these processing resources may be allocated to the received stream, depending on the type of service required by that stream, based on rules associated with the value of the field. ToS of the flow in the configuration table.
  • a first alternative is to define beforehand, in the configuration table, a default allocation rule for unrecognized ToS field values. This allocation rule is then used to allocate resources when receiving packets associated with an unrecognized service type.
  • routing node sends a message to a network controller, which then returns, in real time, an allocation rule previously stored in the network controller.
  • the service associated with the data stream is simply rejected.
  • the stream is considered to be a stream associated with the value of the lowest priority ToS field of the configuration table.
  • the packets of the stream transit in this virtual network using both the resources of the virtual tunnels and the processing instances allocated to the stream.
  • the introduction of new services is thus simplified by dynamic management of virtual networks. Indeed, the new network virtual is only allocated the resources necessary to support the traffic of the service or services associated with it.
  • this mechanism has the decisive advantage of allowing a quick release of resources allocated which is equivalent to a rapid removal of misused virtual networks. For this, different mechanisms can be implemented.
  • the routing nodes For example, for a data stream transported by a virtual network, when no packet of this stream is received during a so-called “observation" period, which may be a predetermined duration of the order of one hour to As a non-limiting example, by one of the routing nodes used by this virtual network, the resource allocated by this routing node to this virtual network is released.
  • the different routing nodes of the virtual network set up for this service can increment a time counter, called "timer" in English, when no packet is received. Beyond a certain threshold, corresponding to the above-mentioned observation time, the routing nodes release the virtual channels and the processing instances that they themselves have reserved. These resources can then be allocated to other virtual networks associated with other services. The use of network infrastructure resources is then dynamically optimized.
  • FIGS. 4A to 4E give an example of virtual network creation according to a first embodiment of the invention.
  • the network infrastructure 405 comprises a controller 400 and four routing nodes 401 to 404 each having a certain amount of processing resources (for example four CPU processing units and a ten gigabyte RAM per node ).
  • the controller 400 configures the routing nodes 401 to 404 by sending them respective configuration messages 411 to 414 containing in particular configuration tables, transmitted for example using the OpenFlow protocol.
  • the purpose of this prior configuration phase is to transmit to each routing node a configuration table that maps one or more ToS field values to a set of resources to be reserved, in particular to a resource associated with a virtual tunnel and a processing instance. where necessary.
  • a ToS1 value of the ToS field may be associated, in such a configuration table, with the reservation of a processing instance using a CPU and two hundred megabytes of RAM.
  • the ToSl value can be associated with the creation of a virtual tunnel, whose characteristics are also provided in the configuration table, and the reservation of at least part of the resources of this virtual tunnel, for example a part of the maximum throughput available on this virtual tunnel.
  • the first packets of a stream F of data arrive (step 421) at the level of the first routing node 401.
  • This routing node 401 analyzes the IP headers of the packets received, in order to deduce the ToS field of the stream. It turns out that this stream F is a data stream whose ToS field value is ToSl, i.e. a data stream according to a type of service associated with this ToSl value.
  • the first routing node 401 then consults its configuration table, to see if an entry corresponding to this ToSl value exists, which is the case in this example.
  • the creation of a new virtual network is then initiated because no virtual network exists at this stage to support the service associated with the ToSl value.
  • the first routing node 401 knowing the rules enabling it to contribute to the configuration of this new virtual network, thus creates a first processing instance 431, reserving part of its processing resources to the processing of the stream F (ie a unit of CPU processing and two hundred megabytes of RAM) as indicated in the configuration table.
  • the first node 401 further initiates the creation of a virtual tunnel 441, allowing it to route the packets of the stream F to a second node 402, and allocates resources associated with this first virtual tunnel 441 (typically, a portion of the capacity or the maximum rate of this virtual tunnel) to the transmission of the data packets of this stream F, as indicated in its configuration table.
  • resources associated with this first virtual tunnel 441 typically, a portion of the capacity or the maximum rate of this virtual tunnel
  • the first packets received by the first node 401 are then transmitted (step 422), by means of the virtual tunnel 441 and resources of this tunnel allocated to the stream F, to the second node 402.
  • the second node 402 retrieves the ToS1 value of the ToS field of these packets, and determines what are the configuration rules of the new virtual network by consulting the configuration table that it has memorized.
  • the second node 402 then creates a second processing instance 432, corresponding to the reservation of a portion of the processing resources of this second node 402 (eg one of the four available CPUs and two hundred megabytes of CPU). RAM) according to its configuration table.
  • the second node 402 initiates the creation of a second virtual tunnel 442 to the third routing node 403, and allocates resources associated with this second tunnel to the transmission of the stream F, according to what is indicated in its configuration table, thus allowing the second node 402 to route the packets of the stream F to the third node 403.
  • the first packets of the stream F are then transmitted (step 423) by the second node 402, by means of the second virtual tunnel 442 and resources of this tunnel allocated to the stream F, towards the third node 403.
  • this third node 403 retrieves the ToS1 value of the ToS field of this packet and determines the configuration rules of the new virtual network using the configuration table that it has previously stored.
  • This third node 403 in turn creates a third processing instance 433, corresponding to the reservation of part of the resources of this third node 403 (eg one of the four available CPU processing units and two hundred megabytes of RAM) according to its configuration table.
  • the third node 403 initiates the creation of a third virtual tunnel 443 to the fourth routing node 404, and allocates resources associated with this third tunnel to the transmission of the stream F according to what is indicated in its table. configuration, thereby allowing the third node 403 to route the packets of the stream F to this fourth node 404 by means of this virtual tunnel.
  • the first packets of the ToS1 data stream arrive at the fourth routing node 404 (step 424).
  • the fourth node 404 retrieves the ToS1 value of the ToS field of the first packets of the stream F and determines the configuration rules of the new virtual network, by consulting its memorized configuration table.
  • the node 404 then creates a fourth processing instance 434, corresponding to the reservation of a part of the resources of this fourth node 404 (eg a processing unit CPU of the four available and two hundred megabytes of RAM) .
  • the configuration rules obtained from its configuration table then indicate to this node 404 that it must transmit the packets of this stream F outside the network infrastructure (step 425), for example to the terminal or the network of the recipient of the stream, without resorting to the establishment of a virtual tunnel.
  • the following packets of the stream F then pass through these nodes 401 to 404 using both the processing instances 431 to 434 reserved for the stream F as the resources allocated to this stream F in the virtual tunnels 441 to 443.
  • This first embodiment thus highlights the creation, step by step, of a virtual network composed of three virtual tunnels 441 to 443 of which at least a portion of the resources are reserved, and using four processing instances at the level of the four nodes.
  • 401 to 404 taking into account the specific needs associated with the stream F, depending on the type of service associated with this stream F as described by the ToSl value. Only the processing and virtual tunnel resources needed to support the service have been allocated.
  • the virtual network thus constructed can be released at any time as explained above.
  • the nodes 401 to 404 may, for example, increment a time counter and release the resources associated with the three virtual tunnels 441 to 443, as well as the four processing instances 431 to 434 that they themselves have reserved. These resources can then be allocated to other virtual networks associated with other services.
  • FIG. 5A and 5B illustrate an example of virtual network creation according to a second embodiment of the invention.
  • the network infrastructure 405 comprises a controller 400 and four routing nodes 401, 402, 403 and 404, similar to what has been previously described, which have been able to implement a preliminary configuration phase as described. in connection with Figure 4A.
  • the first packets of a stream F of data arrive (step 511) at the level of the first routing node 401.
  • This first node 401 analyzes the IP headers of the packets received, in order to extract the value of the ToS field of the stream, here the ToSl value, in order to determine the type of service associated with the stream F.
  • the first node 401 then consults its configuration table to determine the resources required for this service, as defined in correspondence with the ToSl value in this table, in particular the resources associated with a first virtual tunnel connecting the node 401 to the next node 402, such as minimum bit rate or minimum capacity on the link between these two nodes, as well as the processing resources (ie data processing capabilities, available memory) at the first node 401 itself.
  • the first node 401 then checks whether these resources are available. When no resource is available for this type of service, the first node 401 stops the virtual network creation process at this point, without any unnecessary reservation of resource, and sends a message to the controller. 400 to inform him of this situation. On the other hand, if the resources indicated in the table for this type of service are available, the first node 401 informs the controller 400 of this situation and transmits these first packets to the second node 402 (step 512), without reserving at this stage these resources.
  • the second node 402 After receiving these first packets of the stream F, the second node 402 similarly proceeds to the node 401, ie it analyzes the headers of the packets received, in order to extract the value of the ToS field of the stream (here the value ToS1) indicating the type service associated with the flow, consult its configuration table to determine the required resources associated with the service corresponding to this ToSl value, in particular the resources associated with a second virtual tunnel connecting the node 402 to the next node 403 as well as possibly processing resources at the second node 402 itself, and checks the availability of these resources.
  • the ToS1 the value of the ToS field of the stream
  • this second node 402 in turn informs the controller 400 and transmits the first packets of the stream F to the third node 403 (step 513).
  • the third node 403 similarly proceeds to the nodes 401 and 402, ie it analyzes the headers of the packets received, in order to extract the ToS1 value from the ToS field of these packets, consult its table of configuration to determine the required resources associated with the service corresponding to this ToSl value, including the resources associated with a third virtual tunnel connecting the node 403 to the next node 404 as well as possibly processing resources at the third node 403 itself, and check the availability of these resources.
  • this third node 403 informs the controller 400 and transmits the first packets of the stream F to the fourth node 404 (step 514).
  • the fourth node 404 similarly proceeds to the nodes 401 to 403, and analyzes the headers of the packets received, in order to extract the ToS1 value from the ToS field of these packets, consult its configuration table to determine the required resources associated with the service corresponding to this ToSl value, including the processing resources at the fourth node 404 itself, and verifies the availability of these resources.
  • This fourth node 404 being the last node through which the stream F passes in the architecture 405, its configuration table does not indicate any resource to reserve against a possible virtual tunnel, the packets of the stream F being then transmitted to the terminal or the network of the recipient of the stream without resorting to a virtual tunnel.
  • the controller 400 determines that all the nodes 401 to 404 through which the first packets of the stream F pass have available resources associated with virtual tunnels, as well as processing resources intrinsic to the data. nodes 401 to 404, it transmits to these different nodes an allocation message of these resources (step 515), to instantly create a virtual network for transporting the stream F.
  • each node Upon receipt of such a reservation message, each node reserves the resources available for the establishment of a virtual tunnel to the next node, as well as processing resources intrinsic to this node, as determined previously during the verification following the reception of the first packets of the stream F.
  • the virtual tunnels 521 to 523, as well as the processing instances 531 to 534, are thus reserved instantaneously following the sending of the reservation messages, and the virtual network intended to carry the stream F is built at one time, after checking the availability of resources on the entire virtual network thus created.
  • the routing nodes release both the intrinsic processing resources used by the processing instances 531 to 534 and the resources associated with the virtual tunnels 521 to 523 and inform the controller 400 of the release of these resources, which allows the operator of the network infrastructure to monitor in real time the evolution of resource requirements, for example following the introduction of new services, and reassign including resources thus released to these new services.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The invention relates to a resources method for implementing a virtual network in a telecommunication network comprising a plurality of routing nodes (401,402,403,404), said method comprising the following steps implemented by at least one of the routing nodes: reception (300) of data flow packets provided with a header comprising a field indicating the type of service to which said flow is associated; and allocation (303), to the data flow, of at least one resource relative to a virtual tunnel towards another of said routing nodes, according to the value of said field.

Description

Procédé d'allocation de ressources pour la mise en œuvre de réseaux virtuels dans un réseau de télécommunication  Method for allocating resources for implementing virtual networks in a telecommunication network
L'invention concerne un procédé d'allocation de ressources pour la mise en œuvre de réseaux virtuels dans un réseau de télécommunication et s'applique notamment au domaine des réseaux virtuels. The invention relates to a resource allocation method for the implementation of virtual networks in a telecommunications network and applies in particular to the field of virtual networks.
L'ensemble des techniques permettant l'utilisation et la mise en œuvre de réseaux virtuels est habituellement désigné en utilisant l'expression « virtualisation des réseaux ». Même si cette expression comporte le néologisme « virtualisation » dérivé du mot anglais « virtualization », celle-ci est utilisée dans la description car elle est communément employée par l'homme du métier.  The set of techniques enabling the use and implementation of virtual networks is usually referred to using the term "network virtualization". Although this expression includes the neologism "virtualization" derived from the English word "virtualization", it is used in the description because it is commonly used by those skilled in the art.
La virtualisation des réseaux a pour objectif le partage d'une même infrastructure de réseau de télécommunication ou de différentes infrastructures de réseau de télécommunication. Pour cela, des réseaux virtuels isolés les uns par rapport aux autres sont créés. Les ressources à partager entre les différents réseaux virtuels peuvent être des ressources calculatoires, de la mémoire et/ou de la bande passante. Si le réseau de télécommunication est utilisé pour convoyer des données associées à des services différents, la virtualisation des réseaux permet de les répartir sur plusieurs réseaux virtuels indépendants.  The purpose of network virtualization is to share the same telecommunication network infrastructure or different telecommunication network infrastructures. For this, virtual networks isolated from each other are created. The resources to be shared between the different virtual networks can be computing resources, memory and / or bandwidth. If the telecommunication network is used to convey data associated with different services, the virtualization of the networks allows to distribute them on several independent virtual networks.
Les réseaux VPN, acronyme venant de l'expression « Virtual Private Network », les réseaux VLAN, acronyme venant de l'expression « Virtual Local Area Network », et les réseaux VC comprenant des circuits virtuels sont des exemples connus mettant en œuvre la technique de virtualisation des réseaux.  VPNs, acronym from the term "Virtual Private Network", VLANs, acronym from the term "Virtual Local Area Network", and VC networks including virtual circuits are known examples implementing the technique network virtualization.
L'informatique en nuage, désignée habituellement par l'expression anglaise « Cloud Computing », est l'un des domaines pour lequel les techniques de virtualisation sont utilisées. En effet, le partage des ressources est dans ce cas particulièrement important pour que les opérateurs puissent réaliser des économies et dimensionner le mieux possible leurs réseaux. A ce titre, la virtualisation des réseaux est l'un des outils permettant de rendre l'utilisation de l'informatique en nuage réaliste, que ce soit du point de vue technique ou du point de vue financier. Cette technique est utile en particulier au niveau de la couche IaaS, acronyme venant de l'expression anglo-saxonne « Infrastructure as a Service ».  Cloud computing, commonly referred to as "Cloud Computing", is one of the areas for which virtualization techniques are used. Indeed, the sharing of resources is particularly important in this case so that operators can achieve savings and size their networks as best as possible. As such, network virtualization is one of the tools to make the use of cloud computing realistic, both from a technical and a financial point of view. This technique is particularly useful at the level of the IaaS layer, an acronym derived from the English expression "Infrastructure as a Service".
Dans la pratique, il apparaît que l'utilisation de réseaux virtuels n'est pas toujours optimale. A titre d'exemple, si un réseau virtuel est mis en œuvre pour un service donné, il est possible que les ressources lui étant allouées ne soient plus suffisantes pour satisfaire à la demande des utilisateurs pendant une période de temps donnée. Ainsi, si la bande passante allouée n'est pas suffisante pour supporter le trafic lié à ce service, des problèmes de congestion apparaîtront. D'autre part, si le trafic cesse, les ressources du réseau sont toujours réservées par le réseau virtuel et ne peuvent être utilisées pour d'autres services. In practice, it appears that the use of virtual networks is not always optimal. For example, if a virtual network is implemented for a given service, it is possible that the resources allocated to it are no longer sufficient to satisfy the demand of the users for a given period of time. Thus, if the allocated bandwidth is not sufficient to support the traffic related to this service, problems of congestion will appear. On the other hand, if the traffic ceases, the network resources are always reserved by the virtual network and can not be used for other services.
Il existe donc un besoin pour gérer dynamiquement et le plus rapidement possible ces réseaux virtuels, et ce de la manière la plus économique et la plus rapide possible.  There is therefore a need to dynamically manage these virtual networks as quickly and as quickly as possible in the most economical and fastest way possible.
Un but de l'invention est notamment de pallier les inconvénients précités. An object of the invention is in particular to overcome the aforementioned drawbacks.
A cet effet, l'invention a pour objet un procédé d'allocation de ressources pour la mise en œuvre d'un réseau virtuel dans un réseau de télécommunication comprenant une pluralité de nœuds de routage, ce procédé comprenant les étapes suivantes, mises en œuvre par au moins un des nœuds de routage : To this end, the subject of the invention is a method for allocating resources for implementing a virtual network in a telecommunication network comprising a plurality of routing nodes, this method comprising the following steps implemented. by at least one of the routing nodes:
réception de paquets d'un flux de données munis d'une entête comprenant un champ indiquant le type de service auquel est associé ledit flux ; et  receiving packets of a data stream having a header including a field indicating the type of service with which said stream is associated; and
allocation au flux de données, en fonction de la valeur de ce champ, d'au moins une ressource relative à un tunnel virtuel vers un autre desdits nœuds de routage.  allocating to the data stream, according to the value of this field, at least one resource relating to a virtual tunnel to another of said routing nodes.
Il est ainsi possible de créer dynamiquement un réseau virtuel dans lequel des ressources, au niveau des tunnels virtuels composant ce réseau, sont allouées spécifiquement à un service, en fonction du type de service qui lui est associé.  It is thus possible to dynamically create a virtual network in which resources, at the level of the virtual tunnels making up this network, are allocated specifically to a service, depending on the type of service associated with it.
Selon une caractéristique avantageuses, outre ladite au moins une ressource relative à un tunnel virtuel, une ressource de traitement comprenant une partie des ressources calculatoire et de la mémoire du nœud de routage est allouée au flux de données, ce qui permet de réserver également, pour le service en question, des ressources de traitement au niveau des nœuds de routage impliqués dans le réseau virtuel.  According to an advantageous characteristic, in addition to said at least one resource relating to a virtual tunnel, a processing resource comprising a portion of the computing resources and the memory of the routing node is allocated to the data stream, which also makes it possible to reserve, for the service in question, processing resources at the level of the routing nodes involved in the virtual network.
Selon un mode de réalisation, les étapes de réception de paquets et d'allocation de ressource sont mises en œuvre successivement par chacun des nœuds de routage par lesquels transite les paquets du flux de données, ce qui permet une réservation immédiate et progressive, nœud par nœud, des ressources allouées au service via le réseau virtuel.  According to one embodiment, the packet reception and resource allocation steps are implemented successively by each of the routing nodes through which the packets of the data stream transit, which allows an immediate and progressive reservation, node by node, resources allocated to the service via the virtual network.
Selon un autre mode de réalisation, le procédé comprend la vérification, pour chacun des nœuds de routage par lesquels transitent les paquets du flux de données, de la disponibilité de la au moins une ressource suite à la réception des paquets du flux de données, l'allocation de cette au moins une ressource étant mise en œuvre après vérification de la disponibilité de ladite au moins une ressource par l'ensemble desdits nœuds de routage par lesquels transitent les paquets du flux de données. Ceci permet de ne réserver les ressources de réseau virtuel qu'après vérification de leur disponibilité sur l'ensemble du réseau virtuel, ce qui évite la réservation inutile de ressources au niveau des premiers nœuds de routages ou des premiers tunnels virtuels du réseau virtuel lorsqu'il s'avère qu'un nœud ou un tunnel virtuel suivant ne dispose pas de ressources à allouer au service en question. Selon une caractéristique avantageuse, après vérification de la disponibilité de ladite au moins une ressource, les nœuds de routage envoient un message à un contrôleur de réseau indiquant si cette au moins une ressource est disponible, et, lorsque l'ensemble des nœuds de routage par lesquels transitent les paquets du flux de données ont indiqué qu'au moins une ressource est disponible, envoi du contrôleur à ces nœuds de routage d'un message d'allocation de la au moins une ressource au flux de données. Ceci permet de contrôler la réservation globale des ressources à allouer au service au niveau d'un contrôleur de réseau, typiquement situé à distance au niveau d'un plan de contrôle du réseau. According to another embodiment, the method comprises verifying, for each of the routing nodes through which the data stream packets are transiting, the availability of the at least one resource following the reception of the packets of the data stream. allocating this at least one resource being implemented after verifying the availability of said at least one resource by all of said routing nodes through which the packets of the data stream transit. This makes it possible to reserve the virtual network resources only after verifying their availability over the entire virtual network, which avoids the unnecessary reservation of resources at the level of the first routing nodes or the first virtual tunnels of the virtual network when it turns out that a next virtual node or tunnel does not have resources to allocate to the service in question. According to an advantageous characteristic, after verifying the availability of said at least one resource, the routing nodes send a message to a network controller indicating whether this at least one resource is available, and, when the set of routing nodes by which transit packets of the data stream have indicated that at least one resource is available, sending the controller to these routing nodes an allocation message of the at least one resource to the data stream. This makes it possible to control the global reservation of the resources to be allocated to the service at the level of a network controller, typically located remotely at the level of a network control plane.
Selon une caractéristique particulière, la au moins une ressource relative à un tunnel virtuel est une partie de la bande passante, du débit maximal ou de la capacité maximale du tunnel virtuel, ce qui permet d'utiliser ce tunnel virtuel pour différents types de service. Selon une autre caractéristique particulière, le champ indiquant le type de service est le champ ToS de l'entête IP des paquets du flux de données.  According to a particular characteristic, the at least one resource relating to a virtual tunnel is a part of the bandwidth, the maximum bit rate or the maximum capacity of the virtual tunnel, which makes it possible to use this virtual tunnel for different types of service. According to another particular characteristic, the field indicating the type of service is the ToS field of the IP header of the packets of the data stream.
Dans un mode de réalisation de l'invention, la au moins une ressource allouée est libérée lorsqu'aucun paquet du flux de données n'a été reçu pendant une durée d'observation, ce qui permet de rendre disponible ces ressources à d'autres services lorsque ces dernières ne sont plus utilisées.  In one embodiment of the invention, the at least one allocated resource is released when no packet of the data stream has been received during an observation period, thereby making these resources available to others. services when they are no longer used.
Dans un autre mode de réalisation dans lequel les nœuds de routage contiennent une table de configuration dans laquelle est mémorisée une correspondance entre au moins une valeur du champ indiquant le type de service et au moins une ressource relative à un tunnel virtuel vers un autre des nœuds de routage, le procédé comprend en outre, suite à la réception des paquets du flux de données, la consultation de la table de configuration afin de déduire la ressource relative à un tunnel allouée en fonction de cette correspondance. Ceci permet une gestion dynamique de la création de réseaux virtuels au moyen de table de configuration pouvant être transmises au préalable par un contrôleur de réseau.  In another embodiment in which the routing nodes contain a configuration table in which is stored a correspondence between at least one value of the field indicating the type of service and at least one resource relating to a virtual tunnel to another of the nodes In addition, the method further comprises, following the reception of the packets of the data stream, consulting the configuration table in order to deduce the resource relating to a tunnel allocated according to this correspondence. This allows dynamic management of the creation of virtual networks by means of a configuration table that can be transmitted beforehand by a network controller.
Selon une caractéristique avantageuse, une règle d'allocation, définie par défaut dans la table de configuration, est utilisée pour allouer la au moins une ressource lorsque la valeur du champ n'a pas d'équivalent dans la table de configuration, ce qui permet la création du réseaux virtuels pour des services non prévus initialement. Alternativement, selon une autre caractéristique avantageuse, un message est envoyé à un contrôleur de réseau lorsque la valeur du champ n'a pas d'équivalent dans la table de configuration, ce contrôleur de réseau retournant au nœud de routage une règle d'allocation à utiliser pour allouer la au moins une ressource. Ceci permet de gérer de manière centralisée, au niveau du contrôleur de réseau, la création du réseaux virtuels pour des services non prévus initialement. L'invention propose en outre un nœud de routage comprenant des moyens pour mettre en œuvre le procédé ci-avant. According to an advantageous characteristic, an allocation rule, defined by default in the configuration table, is used to allocate the at least one resource when the value of the field has no equivalent in the configuration table, which allows the creation of virtual networks for services not originally planned. Alternatively, according to another advantageous characteristic, a message is sent to a network controller when the value of the field has no equivalent in the configuration table, this network controller returning to the routing node an allocation rule to use to allocate the at least one resource. This makes it possible to centrally manage, at the level of the network controller, the creation of the virtual networks for services not initially provided for. The invention further proposes a routing node comprising means for implementing the method above.
L'invention propose également un contrôleur de réseau comprenant des moyens pour initialiser et mettre à jour des tables de configuration mémorisées dans des nœuds de routage appartement à un réseau de télécommunication, ces tables de configuration mémorisant une correspondance entre au moins une valeur d'un champ, présent dans les entêtes de paquets d'un flux de données et indiquant le type de service auquel est associé ledit flux, et au moins une ressource relative à un tunnel virtuel entre deux desdits nœuds de routage.  The invention also proposes a network controller comprising means for initializing and updating configuration tables stored in apartment routing nodes in a telecommunication network, these configuration tables memorizing a correspondence between at least one value of a network. field, present in the packet headers of a data stream and indicating the type of service with which said stream is associated, and at least one resource relating to a virtual tunnel between two of said routing nodes.
L'invention propose en outre un système de télécommunication composé d'une pluralité de nœuds de routage et d'au moins un contrôleur de réseau , les nœuds de routage comprenant des moyens pour mettre en œuvre le procédé ci-avant, et le contrôleur comprenant des moyens pour mettre à jour les tables de configurations mémorisées par les nœuds de routage. Selon un mode de réalisation avantageux, le contrôleur est configuré pour mettre à jour les tables de routage en utilisant le protocole OpenFlow. Le contrôleur de réseau et un des nœuds de routage peuvent être implémentés au sein d'un même équipement.  The invention further proposes a telecommunication system composed of a plurality of routing nodes and at least one network controller, the routing nodes comprising means for implementing the method above, and the controller comprising means for updating the configuration tables stored by the routing nodes. According to an advantageous embodiment, the controller is configured to update the routing tables using the OpenFlow protocol. The network controller and one of the routing nodes can be implemented within the same equipment.
D'autres caractéristiques et avantages de l'invention apparaîtront à l'aide de la description qui suit donnée à titre illustratif et non limitatif, faite en regard des dessins annexés parmi lesquels : Other features and advantages of the invention will become apparent with the aid of the following description given by way of non-limiting illustration, with reference to the appended drawings in which:
les figures 1A à 1C illustrent le principe de la virtualisation de réseaux ;  FIGS. 1A to 1C illustrate the principle of network virtualization;
la figure 2 donne un exemple d'architecture de réseau et introduit la manière dont le protocole normalisé OpenFlow peut être utilisé ;  Figure 2 gives an example of a network architecture and introduces how the OpenFlow standard protocol can be used;
la figure 3 illustre schématiquement les étapes d'un procédé d'allocation de ressources à des réseaux virtuels ;  FIG. 3 schematically illustrates the steps of a method of allocating resources to virtual networks;
les figures 4A à 4E illustrent un exemple de création de réseau virtuel selon un premier mode de réalisation de l'invention ; et  FIGS. 4A to 4E illustrate an example of virtual network creation according to a first embodiment of the invention; and
les figures 5A et 5B illustrent un exemple de création de réseau virtuel selon un deuxième mode de réalisation de l'invention.  FIGS. 5A and 5B illustrate an example of virtual network creation according to a second embodiment of the invention.
On se réfère tout d'abord aux figures 1A à 1C qui illustrent le principe de la virtualisation de réseaux. Reference is first made to FIGS. 1A-1C which illustrate the principle of network virtualization.
La figure 1A illustre un exemple de réseau de télécommunication comprenant une infrastructure composée de six nœuds de routage 101 à 106. Chacun de ces nœuds de routage peut échanger directement (liens 107 à 115) des données numériques avec trois autres nœuds de routage du réseau grâce à la mise en œuvre des protocoles et ressources physiques adaptés. Ainsi, le nœud de routage 101 peut échanger directement (liens 107, 108 et 113) des données numériques avec les trois nœuds de routage 102, 104 et 106. FIG. 1A illustrates an example of a telecommunication network comprising an infrastructure composed of six routing nodes 101 to 106. Each of these routing nodes can directly exchange (links 107 to 115) digital data with three other nodes. routing of the network through the implementation of appropriate protocols and physical resources. Thus, the routing node 101 can directly exchange (links 107, 108 and 113) digital data with the three routing nodes 102, 104 and 106.
Sur la base de cette infrastructure, plusieurs réseaux virtuels peuvent être créés. Par exemple, comme illustré sur la figure 1B, on peut créer un premier réseau virtuel 116 composé de cinq nœuds de routage 101, 102, 104, 105, 106 sélectionnés parmi les six nœuds de routage de l'infrastructure du réseau de télécommunication. Des tunnels virtuels 117 à 122 sont alors configurés pour permettre aux nœuds de routage ainsi sélectionnés d'échanger des données entre eux. La figure 1C illustre un second réseau virtuel 123 se basant sur l'infrastructure du réseau présenté à la figure 1A. Pour le composer, cinq nœuds de routage 101 à 105 sont sélectionnés et six liens virtuels 124 à 129 sont configurés entre ces nœuds.  Based on this infrastructure, multiple virtual networks can be created. For example, as illustrated in FIG. 1B, it is possible to create a first virtual network 116 composed of five routing nodes 101, 102, 104, 105, 106 selected from among the six routing nodes of the telecommunication network infrastructure. Virtual tunnels 117 to 122 are then configured to allow the selected routing nodes to exchange data with each other. Figure 1C illustrates a second virtual network 123 based on the network infrastructure shown in Figure 1A. To dial it, five routing nodes 101 to 105 are selected and six virtual links 124 to 129 are configured between these nodes.
Pour ces deux réseaux virtuels 116 et 123, des nœuds de routage sont utilisés simultanément à la fois pour l'un et pour l'autre. Il est donc nécessaire de partager les ressources de ces nœuds de routage entre les deux réseaux virtuels 116 et 123 auxquels ils sont alloués, que ce soit les ressources de traitement intrinsèques aux nœuds eux-mêmes ou les ressources relatives aux liens virtuels reliant ces nœuds communs aux deux réseaux.  For these two virtual networks 116 and 123, routing nodes are used simultaneously for both. It is therefore necessary to share the resources of these routing nodes between the two virtual networks 116 and 123 to which they are allocated, whether it is the intrinsic processing resources at the nodes themselves or the resources relating to the virtual links connecting these common nodes. to both networks.
On se réfère maintenant à la figure 2, qui donne un exemple d'architecture de réseau et introduit la manière dont le protocole normalisé OpenFlow (marque déposée) peut être utilisé. Referring now to FIG. 2, which gives an example of network architecture and introduces how the OpenFlow (registered trademark) standard protocol can be used.
L'architecture ainsi présentée comprend cinq nœuds de routage 200 à 204 situés dans un plan de transport tel que défini dans ce protocole, ainsi qu'un contrôleur de réseau 205, situé dans un plan de contrôle tel que défini dans ce protocole. Les nœuds de routage comprennent notamment des moyens de transmission permettant l'échange de données avec un autre nœud de routage ou le contrôleur de réseau, ainsi que des moyens de traitement (typiquement un processeur de traitement de données, associé à une mémoire vive et une mémoire morte aptes à mémoriser notamment une table de configuration telle que décrite ci- après) configurés pour mettre en œuvre le procédé décrit par la suite. Le contrôleur de réseau comprend également des moyens de transmission permettant l'échange de données avec chacun des nœuds de routage ainsi que des moyens de traitement (typiquement un processeur de traitement de données associé à une mémoire vive et une mémoire morte) pour la mise en œuvre du procédé décrit par la suite.  The architecture thus presented comprises five routing nodes 200 to 204 located in a transport plane as defined in this protocol, as well as a network controller 205, located in a control plane as defined in this protocol. The routing nodes include transmission means for exchanging data with another routing node or the network controller, as well as processing means (typically a data processing processor, associated with a random access memory and a data processor). read-only memory able to store in particular a configuration table as described below) configured to implement the method described below. The network controller also comprises transmission means for the exchange of data with each of the routing nodes as well as processing means (typically a data processing processor associated with a random access memory and a read only memory) for the implementation of the method described later.
Une table de configuration est mémorisée dans chaque nœud de routage. Cette table de configuration contient un ensemble de champs permettant d'identifier les flux de données reçus par les nœuds et de router ces flux vers d'autres nœuds suivant des règles prédéfinies par cette table. Le protocole OpenFlow permet notamment de programmer les tables de configuration ainsi mémorisées. Il est alors possible de contrôler différents flux en choisissant intelligemment les chemins empruntés par les paquets leur étant associés et la manière dont ils sont traités. A configuration table is stored in each routing node. This configuration table contains a set of fields to identify the streams of data received by the nodes and route these streams to other nodes following rules. predefined by this table. The OpenFlow protocol makes it possible to program the configuration tables thus stored. It is then possible to control different streams by intelligently choosing the paths taken by the packets associated with them and the way they are treated.
En d'autres termes, le protocole OpenFlow permet de créer différents réseaux virtuels par la programmation, via un contrôleur 205, des tables de configuration mémorisées dans les nœuds de routage. La mise en place de réseaux virtuels permet de partager les ressources matérielles et donc d'améliorer la rentabilité pour l'opérateur du réseau.  In other words, the OpenFlow protocol makes it possible to create different virtual networks by programming, via a controller 205, configuration tables stored in the routing nodes. The establishment of virtual networks makes it possible to share the hardware resources and thus to improve the profitability for the operator of the network.
Le procédé selon l'invention introduit un mécanisme prenant en compte le type de service associé aux flux de données de manière à permettre une gestion optimisée de la capacité des réseaux virtuels en fonction des besoins associés à ces services. Avantageusement, un opérateur de télécommunication mettant en œuvre l'invention dans son réseau peut ensuite contrôler finement la priorité des services les uns par rapport aux autres en jouant notamment sur la quantité de ressources allouées aux différents réseaux virtuels actifs.  The method according to the invention introduces a mechanism that takes into account the type of service associated with the data streams so as to allow optimized management of the capacity of the virtual networks according to the needs associated with these services. Advantageously, a telecommunication operator implementing the invention in his network can then finely control the priority of the services relative to each other by playing in particular on the amount of resources allocated to the different active virtual networks.
L'invention s'appuie sur une infrastructure de réseau composée de nœuds de routage. L'infrastructure peut également comprendre au moins un contrôleur de réseau. Un nœud de routage réalise notamment des fonctions de routage et d'allocation de ressources. Un contrôleur de réseau est un équipement permettant notamment de configurer les nœuds de routage du réseau. L'invention peut être mise en œuvre au sein d'un réseau dans lequel les nœuds de routage et les contrôleurs correspondent à des équipements distincts les uns des autres. Dans un mode de réalisation alternatif, l'infrastructure peut comporter au moins un équipement jouant le rôle à la fois de nœud de routage et de contrôleur. Dans un but de simplification de l'exposé, le principe de l'invention est décrit ci-après en prenant l'hypothèse que les nœuds de routage et les contrôleurs de réseau sont implémentés dans des équipements distincts.  The invention relies on a network infrastructure composed of routing nodes. The infrastructure may also include at least one network controller. In particular, a routing node performs routing and resource allocation functions. A network controller is a device that makes it possible, in particular, to configure the routing nodes of the network. The invention can be implemented within a network in which the routing nodes and the controllers correspond to equipment that is distinct from each other. In an alternative embodiment, the infrastructure may include at least one device acting as both a routing node and a controller. For the sake of simplification of the presentation, the principle of the invention is described below assuming that the routing nodes and the network controllers are implemented in separate devices.
On se réfère maintenant à la figure 3, qui illustre schématiquement les étapes d'un procédé d'allocation de ressources à des réseaux virtuels selon l'invention. Referring now to Figure 3, which schematically illustrates the steps of a method of allocating resources to virtual networks according to the invention.
Pour un flux de données associé à un service donné, un réseau virtuel est créé en lui allouant une partie des ressources disponibles dans l'infrastructure du réseau. Pour cela le mécanisme d'allocation tient compte du type de service associé au flux de données. Le type de service correspond à la qualité de service requise pour la transmission du flux, c'est-à-dire à des paramètres comme la tolérance en termes de pertes de paquets, le délai maximum entre l'émission et la réception d'un paquet, ainsi que d'autres paramètres bien connus de l'homme du métier. Selon un aspect de l'invention, la notion de type de service est prise en compte par les nœuds de routage du réseau en analysant les entêtes des paquets du flux. For a data flow associated with a given service, a virtual network is created by allocating a portion of the resources available in the network infrastructure. For this, the allocation mechanism takes into account the type of service associated with the data flow. The type of service corresponds to the quality of service required for the transmission of the stream, that is to say to parameters such as the loss of packet tolerance, the maximum delay between the transmission and the reception of a packet. package, as well as other parameters well known to man of career. According to one aspect of the invention, the notion of type of service is taken into account by the routing nodes of the network by analyzing the headers of the packets of the stream.
Dans un mode de réalisation préféré, le champ ToS, acronyme venant de l'expression anglo-saxonne « Type of Service », est utilisé à cette fin. Ce champ, indicatif du type de service associé à un flux de données, est inclus dans l'entête IP des paquets et contient des informations relatives à la qualité de service requise pour la transmission du flux de données.  In a preferred embodiment, the ToS field, an acronym derived from the English expression "Type of Service", is used for this purpose. This field, indicative of the type of service associated with a data flow, is included in the IP header of the packets and contains information about the quality of service required for the transmission of the data stream.
Au préalable, le contrôleur transmet aux différents nœuds de routage du réseau des tables de configuration, lesquelles sont alors mémorisées dans les différents nœuds de routage du réseau. Une table de configuration contient un ensemble de règles d'allocations à suivre lors la mise en place de réseaux virtuels. Une fois ces règles définies, le procédé selon l'invention exécuté par les nœuds de routage permet cette allocation de ressources. Une table de configuration peut notamment comprendre plusieurs valeurs de champ ToS auxquelles sont associées un ensemble de règles d'allocation. Ces tables de configuration sont par exemple initialement programmées par l'opérateur du réseau de télécommunication.  In advance, the controller transmits configuration tables to the various routing nodes of the network, which are then stored in the various routing nodes of the network. A configuration table contains a set of allocation rules to follow when setting up virtual networks. Once these rules are defined, the method according to the invention executed by the routing nodes allows this allocation of resources. In particular, a configuration table can include several ToS field values with which a set of allocation rules is associated. These configuration tables are for example initially programmed by the operator of the telecommunications network.
Lorsqu'un nœud de routage donné reçoit (étape 300) un ou plusieurs paquet appartenant à un flux de données, il analyse (étape 301) ces paquets de manière à déterminer le type de service leur étant associé, donc qui est associé au flux de données, par exemple en extrayant la valeur du champ ToS dans ces paquets. La table de configuration mémorisée dans le nœud de routage est alors consultée (étape 302) afin de vérifier si un réseau virtuel existe déjà pour ce type de service, auquel cas ce réseau virtuel existant est utilisé pour la transmission des paquets du flux.  When a given routing node receives (step 300) one or more packets belonging to a data stream, it analyzes (step 301) these packets so as to determine the type of service associated with them, which is therefore associated with the flow of data. data, for example by extracting the value of the ToS field in these packets. The configuration table stored in the routing node is then consulted (step 302) in order to check whether a virtual network already exists for this type of service, in which case this existing virtual network is used for the transmission of the packets of the stream.
Si, au contraire, ces paquets sont associés à un service pour lequel il n'existe pas encore de réseau virtuel, le nœud de routage alloue (étape 303) alors un ensemble de ressources, afin de participer à la création d'un nouveau réseau virtuel destiné à supporter ce service en transportant le flux de données, et ce en suivant les règles définies dans sa table de configuration.  If, on the contrary, these packets are associated with a service for which there is not yet a virtual network, the routing node allocates (step 303) then a set of resources, in order to participate in the creation of a new network. virtual server to support this service by transporting the data stream, following the rules defined in its configuration table.
Les ressources allouées par un nœud de routage à la création d'un réseau virtuel correspondent, d'une part, à des ressources relatives à un tunnel virtuel vers un autre nœud de routage du réseau par lequel les paquets de données du flux de données transitent pour fournir le service requis. De telles ressources peuvent correspondre à l'ensemble des ressources du tunnel virtuel lui-même, dans son intégralité, lorsque l'on souhaite réserver l'ensemble du tunnel virtuel entre deux nœuds de routage au seul service requis par l'intermédiaire du flux reçu. Alternativement, ces ressources peuvent correspondre à une portion des ressources du tunnel virtuel. Ainsi, lorsque le tunnel virtuel entre les deux nœuds dispose d'une bande passante maximale, d'un débit maximal ou d'une capacité maximale, les ressources en question correspondent à une portion de ces paramètres, qui peut dépendre du type de service indiqué dans le champ des paquets. The resources allocated by a routing node to the creation of a virtual network correspond, on the one hand, to resources relating to a virtual tunnel to another routing node of the network through which the data packets of the data stream transit. to provide the required service. Such resources may correspond to all the resources of the virtual tunnel itself, in its entirety, when it is desired to reserve the entire virtual tunnel between two routing nodes to the only service required via the stream received. . Alternatively, these resources may correspond to a portion of the resources of the virtual tunnel. So, when the virtual tunnel between the two nodes has a band maximum throughput, maximum throughput, or maximum capacity, the resources in question correspond to a portion of these parameters, which may depend on the type of service indicated in the packet field.
Ainsi, à titre d'exemple, pour un tunnel virtuel présentant une bande passante de 200 Mbit/s, des ressources minimums correspondant à 4 Mbits peuvent être allouées à un type particulier de service tel que le vidéo, et utilisées par les flux de données engendrés par ce service.  Thus, for example, for a virtual tunnel having a bandwidth of 200 Mbit / s, minimum resources corresponding to 4 Mbit can be allocated to a particular type of service such as video, and used by data streams. generated by this service.
En outre, les ressources allouées par un nœud de routage à la création d'un réseau virtuel peuvent correspondre, d'autre part, à des ressources de traitement intrinsèques au nœud de routage, utilisées pour mettre en place une instance de traitement servant à la création du réseau virtuel. De telles ressources de traitement peuvent typiquement correspondre à des ressources calculatoires et de mémoire du nœud de routage. Tout comme pour les ressources relatives à un tunnel virtuel, une portion plus ou moins grande de ces ressources de traitement peut être alloué au flux reçu, en fonction du type de service requis par ce flux, en fonction de règles associées à la valeur du champ ToS du flux dans la table de configuration.  In addition, the resources allocated by a routing node to the creation of a virtual network can correspond, on the other hand, to processing resources intrinsic to the routing node, used to set up a processing instance for creation of the virtual network. Such processing resources may typically correspond to computational and memory resources of the routing node. Similar to virtual tunnel resources, a larger or smaller portion of these processing resources may be allocated to the received stream, depending on the type of service required by that stream, based on rules associated with the value of the field. ToS of the flow in the configuration table.
Si la valeur du champ ToS extraite des paquets reçus du flux n'a pas d'équivalent dans la table de configuration d'un nœud de routage, plusieurs alternatives peuvent être envisagées :  If the value of the ToS field extracted from packets received from the stream has no equivalent in the configuration table of a routing node, several alternatives can be envisaged:
- Une première alternative consiste à définir au préalable, dans la table de configuration, une règle d'allocation par défaut pour les valeurs de champ ToS non reconnues. Cette règle d'allocation est alors utilisée pour allouer des ressources lors de la réception de paquets associés à un type de service non reconnu.  - A first alternative is to define beforehand, in the configuration table, a default allocation rule for unrecognized ToS field values. This allocation rule is then used to allocate resources when receiving packets associated with an unrecognized service type.
- Une deuxième alternative consiste à ce que le nœud de routage envoie un message à un contrôleur de réseau, lequel lui retourne alors, en temps réel, une règle d'allocation mémorisée préalablement dans le contrôleur de réseau.  - A second alternative is that the routing node sends a message to a network controller, which then returns, in real time, an allocation rule previously stored in the network controller.
- Dans une troisième alternative, le service associé au flux de données est tout simplement rejeté.  In a third alternative, the service associated with the data stream is simply rejected.
- Dans une quatrième alternative, le flux est considéré comme étant un flux associé à la valeur du champ ToS le moins prioritaire de la table de configuration.  In a fourth alternative, the stream is considered to be a stream associated with the value of the lowest priority ToS field of the configuration table.
Une fois que ces ressources sont allouées à un nouveau réseau virtuel, les paquets du flux transitent dans ce réseau virtuel en utilisant aussi bien les ressources des tunnels virtuels que les instances de traitement allouées au flux. L'introduction de nouveaux services est ainsi simplifiée par une gestion dynamique des réseaux virtuels. En effet, le nouveau réseau virtuel ne se voit alloué que les ressources nécessaires pour supporter le trafic du ou des services qui lui sont associés. Once these resources are allocated to a new virtual network, the packets of the stream transit in this virtual network using both the resources of the virtual tunnels and the processing instances allocated to the stream. The introduction of new services is thus simplified by dynamic management of virtual networks. Indeed, the new network virtual is only allocated the resources necessary to support the traffic of the service or services associated with it.
En outre, ce mécanisme présente l'avantage déterminant de permettre une libération rapide des ressources allouées ce qui est équivalent à une suppression rapide des réseaux virtuels mal utilisés. Pour cela, différents mécanismes peuvent être mis en œuvre.  In addition, this mechanism has the decisive advantage of allowing a quick release of resources allocated which is equivalent to a rapid removal of misused virtual networks. For this, different mechanisms can be implemented.
Par exemple, pour un flux de données transporté par un réseau virtuel, lorsqu'aucun paquet de ce flux n'est reçu durant une durée dite d' « observation », qui peut être une durée prédéterminée de l'ordre d'une heure à titre d'exemple non limitatif, par l'un des nœuds de routage utilisé par ce réseau virtuel, la ressource allouée par ce nœud de routage à ce réseau virtuel est libérée. Pour implémenter ce mode de réalisation, les différents nœuds de routage du réseau virtuel mis en place pour ce service peuvent incrémenter un compteur temporel, appelé « timer » en anglais, lorsqu'aucun paquet n'est reçu. Au delà d'un certain seuil, correspondant à la durée d'observation susmentionnée, les nœuds de routage libèrent les canaux virtuels et les instances de traitement qu'ils ont eux même réservés. Ces ressources peuvent alors être allouées à d'autres réseaux virtuels associés à d'autres services. L'utilisation des ressources de l'infrastructure de réseau est alors optimisée dynamiquement.  For example, for a data stream transported by a virtual network, when no packet of this stream is received during a so-called "observation" period, which may be a predetermined duration of the order of one hour to As a non-limiting example, by one of the routing nodes used by this virtual network, the resource allocated by this routing node to this virtual network is released. To implement this embodiment, the different routing nodes of the virtual network set up for this service can increment a time counter, called "timer" in English, when no packet is received. Beyond a certain threshold, corresponding to the above-mentioned observation time, the routing nodes release the virtual channels and the processing instances that they themselves have reserved. These resources can then be allocated to other virtual networks associated with other services. The use of network infrastructure resources is then dynamically optimized.
On se réfère maintenant aux figures 4A à 4E qui donnent un exemple de création de réseau virtuel selon un premier mode de réalisation de l'invention. Reference will now be made to FIGS. 4A to 4E which give an example of virtual network creation according to a first embodiment of the invention.
Dans cet exemple, l'infrastructure du réseau 405 comprend un contrôleur 400 et quatre nœuds de routage 401 à 404 disposant chacun d'une certaine quantité de ressources de traitement (par exemple quatre unités de traitement CPU et une mémoire vive de dix gigaoctets par nœud).  In this example, the network infrastructure 405 comprises a controller 400 and four routing nodes 401 to 404 each having a certain amount of processing resources (for example four CPU processing units and a ten gigabyte RAM per node ).
Dans un premier temps, comme illustré sur figure 4A, le contrôleur 400 configure les nœuds de routage 401 à 404 en leur envoyant des messages de configuration respectifs 411 à 414 contenant notamment des tables de configuration, transmises par exemple en utilisant le protocole OpenFlow. Cette phase préalable de configuration a pour fonction de transmettre à chaque nœud de routage une table de configuration faisant correspondre une ou plusieurs valeur de champ ToS à un ensemble de ressources à réserver, notamment à une ressource associée à un tunnel virtuel et une instance de traitement, lorsque cela est nécessaire.  In a first step, as illustrated in FIG. 4A, the controller 400 configures the routing nodes 401 to 404 by sending them respective configuration messages 411 to 414 containing in particular configuration tables, transmitted for example using the OpenFlow protocol. The purpose of this prior configuration phase is to transmit to each routing node a configuration table that maps one or more ToS field values to a set of resources to be reserved, in particular to a resource associated with a virtual tunnel and a processing instance. where necessary.
A titre d'exemple, une valeur ToSl du champ ToS peut être associée, dans une telle table de configuration, à la réservation d'une instance de traitement utilisant une unité de traitement CPU et deux-cents méga-octets de mémoire vive. En outre, la valeur ToSl peut être associée à la création d'un tunnel virtuel, dont les caractéristiques sont également fournies dans la table de configuration, et la réservation d'au moins une partie des ressources de ce tunnel virtuel, par exemple une partie du débit maximal disponible sur ce tunnel virtuel. By way of example, a ToS1 value of the ToS field may be associated, in such a configuration table, with the reservation of a processing instance using a CPU and two hundred megabytes of RAM. In addition, the ToSl value can be associated with the creation of a virtual tunnel, whose characteristics are also provided in the configuration table, and the reservation of at least part of the resources of this virtual tunnel, for example a part of the maximum throughput available on this virtual tunnel.
Suite à cette phase préalable de configuration, comme illustré à l'aide de la figure 4B, les premiers paquets d'un flux F de données arrivent (étape 421) au niveau du premier nœud de routage 401. Ce nœud de routage 401 analyse alors les entêtes IP des paquets reçus, afin d'en déduire le champ ToS du flux. Il se trouve que ce flux F est un flux de données dont la valeur de champ ToS est ToSl, i.e. un flux de données selon un type de service associé à cette valeur ToSl. Le premier nœud de routage 401 consulte alors sa table de configuration, afin de voir si une entrée correspondant à cette valeur ToSl existe, ce qui est le cas dans cet exemple.  Following this preliminary configuration step, as illustrated with the aid of FIG. 4B, the first packets of a stream F of data arrive (step 421) at the level of the first routing node 401. This routing node 401 then analyzes the IP headers of the packets received, in order to deduce the ToS field of the stream. It turns out that this stream F is a data stream whose ToS field value is ToSl, i.e. a data stream according to a type of service associated with this ToSl value. The first routing node 401 then consults its configuration table, to see if an entry corresponding to this ToSl value exists, which is the case in this example.
La création d'un nouveau réseau virtuel est alors entamée, car aucun réseau virtuel n'existe à ce stade pour supporter le service associé à la valeur ToSl. Le premier nœud de routage 401, connaissant les règles lui permettant contribuer à la configuration de ce nouveau réseau virtuel, crée donc une première instance de traitement 431, en réservant une partie de ses ressources de traitement au traitement du flux F (i.e. une unité de traitement CPU et deux- cents méga-octets de mémoire vive) selon ce qui est indiqué dans la table de configuration.  The creation of a new virtual network is then initiated because no virtual network exists at this stage to support the service associated with the ToSl value. The first routing node 401, knowing the rules enabling it to contribute to the configuration of this new virtual network, thus creates a first processing instance 431, reserving part of its processing resources to the processing of the stream F (ie a unit of CPU processing and two hundred megabytes of RAM) as indicated in the configuration table.
Le premier nœud 401 initie en outre la création d'un tunnel virtuel 441, lui permettant de router les paquets du flux F vers un deuxième nœud 402, et alloue des ressources associées à ce premier tunnel virtuel 441 (typiquement, une partie de la capacité ou du débit maximal de ce tunnel virtuel) à la transmission des paquets de données de ce flux F, selon ce qui est indiqué dans sa table de configuration.  The first node 401 further initiates the creation of a virtual tunnel 441, allowing it to route the packets of the stream F to a second node 402, and allocates resources associated with this first virtual tunnel 441 (typically, a portion of the capacity or the maximum rate of this virtual tunnel) to the transmission of the data packets of this stream F, as indicated in its configuration table.
Comme illustré sur la figure 4C, les premier paquets reçus par le premier nœud 401 sont alors transmis (étape 422), au moyen du tunnel virtuel 441 et des ressources de ce tunnel allouées au flux F, vers le deuxième nœud 402. Comme pour le premier nœud 401, le deuxième nœud 402 récupère la valeur ToSl du champ ToS de ces paquets, et détermine quelles sont les règles de configuration du nouveau réseau virtuel en consultant la table de configuration qu'il a mémorisée.  As illustrated in FIG. 4C, the first packets received by the first node 401 are then transmitted (step 422), by means of the virtual tunnel 441 and resources of this tunnel allocated to the stream F, to the second node 402. first node 401, the second node 402 retrieves the ToS1 value of the ToS field of these packets, and determines what are the configuration rules of the new virtual network by consulting the configuration table that it has memorized.
Le deuxième nœud 402 crée alors une seconde instance de traitement 432, correspondant à la réservation d'une partie des ressources de traitement de ce deuxième nœud 402 (e.g. une unité de traitement CPU sur les quatre disponibles et à deux-cents méga-octets de mémoire vive) selon sa table de configuration. En outre, le deuxième nœud 402 initie la création d'un deuxième tunnel virtuel 442 vers le troisième nœud de routage 403, et alloue des ressources associées à ce deuxième tunnel à la transmission du flux F, en fonction de ce qui est indiqué dans sa table de configuration, permettant ainsi au deuxième nœud 402 de router les paquets du flux F vers ce troisième nœud 403. Comme illustré sur la figure 4D, les premier paquets du flux F sont alors transmis (étape 423) par le deuxième nœud 402, au moyen du deuxième tunnel virtuel 442 et des ressources de ce tunnel allouées au flux F, vers le troisième nœud 403. The second node 402 then creates a second processing instance 432, corresponding to the reservation of a portion of the processing resources of this second node 402 (eg one of the four available CPUs and two hundred megabytes of CPU). RAM) according to its configuration table. In addition, the second node 402 initiates the creation of a second virtual tunnel 442 to the third routing node 403, and allocates resources associated with this second tunnel to the transmission of the stream F, according to what is indicated in its configuration table, thus allowing the second node 402 to route the packets of the stream F to the third node 403. As illustrated in FIG. 4D, the first packets of the stream F are then transmitted (step 423) by the second node 402, by means of the second virtual tunnel 442 and resources of this tunnel allocated to the stream F, towards the third node 403.
Comme pour les précédents nœuds 401 et 402, ce troisième nœud 403 récupère la valeur ToSl du champ ToS de ce paquet et détermine les règles de configuration du nouveau réseau virtuel à l'aide de la table de configuration qu'il a mémorisé préalablement. Ce troisième nœud 403 crée à son tour une troisième instance de traitement 433, correspondant à la réservation d'une partie des ressources de ce troisième nœud 403 (e.g. une unité de traitement CPU sur les quatre disponibles et à deux-cents méga-octets de mémoire vive) en fonction de sa table de configuration. En outre, le troisième nœud 403 initie la création d'un troisième tunnel virtuel 443 vers le quatrième nœud de routage 404, et alloue des ressources associées à ce troisième tunnel à la transmission du flux F en fonction de ce qui est indiqué dans sa table de configuration, permettant ainsi au troisième nœud 403 de router les paquets du flux F vers ce quatrième nœud 404 au moyen de ce tunnel virtuel.  As for the previous nodes 401 and 402, this third node 403 retrieves the ToS1 value of the ToS field of this packet and determines the configuration rules of the new virtual network using the configuration table that it has previously stored. This third node 403 in turn creates a third processing instance 433, corresponding to the reservation of part of the resources of this third node 403 (eg one of the four available CPU processing units and two hundred megabytes of RAM) according to its configuration table. In addition, the third node 403 initiates the creation of a third virtual tunnel 443 to the fourth routing node 404, and allocates resources associated with this third tunnel to the transmission of the stream F according to what is indicated in its table. configuration, thereby allowing the third node 403 to route the packets of the stream F to this fourth node 404 by means of this virtual tunnel.
Enfin, et comme illustré à l'aide de la figure 4E, les premiers paquets du flux de données ToSl arrivent au niveau du quatrième nœud de routage 404 (étape 424). Comme pour les nœuds précédents 401, 402 et 403, le quatrième nœud 404 récupère la valeur ToSl du champ ToS des premiers paquets du flux F et détermine les règles de configuration du nouveau réseau virtuel, en consultant sa table de configuration mémorisée. Le nœud 404 crée alors une quatrième instance de traitement 434, correspondant à la réservation d'une partie des ressources de ce quatrième nœud 404 (e.g. une unité de traitement CPU sur les quatre disponibles et à deux-cents méga-octets de mémoire vive). Les règles de configuration obtenues à partir de sa table de configuration indiquent ensuite à ce nœud 404 qu'il doit transmettre les paquets de ce flux F à l'extérieur de l'infrastructure de réseau (étape 425), par exemple vers le terminal ou le réseau du destinataire du flux, sans recourir à l'établissement d'un tunnel virtuel.  Finally, and as shown in FIG. 4E, the first packets of the ToS1 data stream arrive at the fourth routing node 404 (step 424). As for the previous nodes 401, 402 and 403, the fourth node 404 retrieves the ToS1 value of the ToS field of the first packets of the stream F and determines the configuration rules of the new virtual network, by consulting its memorized configuration table. The node 404 then creates a fourth processing instance 434, corresponding to the reservation of a part of the resources of this fourth node 404 (eg a processing unit CPU of the four available and two hundred megabytes of RAM) . The configuration rules obtained from its configuration table then indicate to this node 404 that it must transmit the packets of this stream F outside the network infrastructure (step 425), for example to the terminal or the network of the recipient of the stream, without resorting to the establishment of a virtual tunnel.
Les paquets suivants du flux F transitent ensuite par ces nœuds 401 à 404 en utilisant aussi bien les instances de traitement 431 à 434 réservées au flux F que les ressources allouées à ce flux F dans les tunnels virtuels 441 à 443.  The following packets of the stream F then pass through these nodes 401 to 404 using both the processing instances 431 to 434 reserved for the stream F as the resources allocated to this stream F in the virtual tunnels 441 to 443.
Ce premier mode de réalisation met ainsi en évidence la création de proche en proche d'un réseau virtuel, composé de trois tunnels virtuels 441 à 443 dont une partie au moins des ressources sont réservées, et utilisant quatre instances de traitement au niveau des quatre nœuds 401 à 404, en tenant compte des besoins spécifiques associés au flux F, en fonction du type du service associé à ce flux F tel que décrit par la valeur ToSl. Seules les ressources de traitement et de tunnel virtuel nécessaires au support du service ont été allouées. De plus, le réseau virtuel ainsi construit peut être libéré à tout moment comme explicité précédemment. Les nœuds 401 à 404 peuvent par exemple incrémenter un compteur temporel et libérer les ressources associées aux trois tunnels virtuels 441 à 443, ainsi que les quatre instances de traitement 431 à 434 qu'ils ont eux-mêmes réservés. Ces ressources peuvent alors être allouées à d'autres réseaux virtuels associés à d'autres services. This first embodiment thus highlights the creation, step by step, of a virtual network composed of three virtual tunnels 441 to 443 of which at least a portion of the resources are reserved, and using four processing instances at the level of the four nodes. 401 to 404, taking into account the specific needs associated with the stream F, depending on the type of service associated with this stream F as described by the ToSl value. Only the processing and virtual tunnel resources needed to support the service have been allocated. In addition, the virtual network thus constructed can be released at any time as explained above. The nodes 401 to 404 may, for example, increment a time counter and release the resources associated with the three virtual tunnels 441 to 443, as well as the four processing instances 431 to 434 that they themselves have reserved. These resources can then be allocated to other virtual networks associated with other services.
On se réfère maintenant aux figures 5A et 5B qui illustrent un exemple de création de réseau virtuel selon un deuxième mode de réalisation de l'invention. Referring now to Figures 5A and 5B which illustrate an example of virtual network creation according to a second embodiment of the invention.
Dans cet exemple, l'infrastructure du réseau 405 comprend un contrôleur 400 et quatre nœuds de routage 401, 402, 403 et 404, similairement à ce qui a été décrit précédemment, lesquels ont pu mettre en œuvre une phase préalable de configuration telle que décrite en relation avec la figure 4A.  In this example, the network infrastructure 405 comprises a controller 400 and four routing nodes 401, 402, 403 and 404, similar to what has been previously described, which have been able to implement a preliminary configuration phase as described. in connection with Figure 4A.
Suite à cette phase préalable de configuration, comme illustré à l'aide de la figure 5A, les premiers paquets d'un flux F de données arrivent (étape 511) au niveau du premier nœud de routage 401. Ce premier nœud 401 analyse alors les entêtes IP des paquets reçus, afin d'en extraire la valeur du champ ToS du flux, ici la valeur ToSl, afin de déterminer le type de service associé au flux F.  Following this preliminary configuration step, as illustrated by means of FIG. 5A, the first packets of a stream F of data arrive (step 511) at the level of the first routing node 401. This first node 401 then analyzes the IP headers of the packets received, in order to extract the value of the ToS field of the stream, here the ToSl value, in order to determine the type of service associated with the stream F.
Le premier nœud 401 consulte ensuite sa table de configuration pour déterminer les ressources requises pour ce services, telles que définies en correspondance à la valeur ToSl dans cette table, notamment les ressources associées à un premier tunnel virtuel reliant le nœud 401 au nœud suivant 402, telles qu'un débit minimal ou une capacité minimale sur le lien entre ces deux nœuds, ainsi que les ressources de traitement (i.e. capacités de traitement de données, mémoire disponible) au niveau du premier nœud 401 lui-même.  The first node 401 then consults its configuration table to determine the resources required for this service, as defined in correspondence with the ToSl value in this table, in particular the resources associated with a first virtual tunnel connecting the node 401 to the next node 402, such as minimum bit rate or minimum capacity on the link between these two nodes, as well as the processing resources (ie data processing capabilities, available memory) at the first node 401 itself.
Le premier nœud 401 vérifie alors si ces ressources sont disponibles. Lorsqu'aucune ressource n'est disponible pour ce type de service, le premier nœud 401 arrête le processus de création de réseau virtuel à ce stade, sans qu'il n'y ait aucune réservation inutile de ressource, et envoie un message au contrôleur 400 afin de l'informer de cette situation. Par contre, si les ressources indiquées dans la table pour ce type de service sont disponibles, le premier nœud 401 informe le contrôleur 400 de cette situation et transmet ces premiers paquets vers le deuxième nœud 402 (étape 512), sans réserver à ce stade ces ressources.  The first node 401 then checks whether these resources are available. When no resource is available for this type of service, the first node 401 stops the virtual network creation process at this point, without any unnecessary reservation of resource, and sends a message to the controller. 400 to inform him of this situation. On the other hand, if the resources indicated in the table for this type of service are available, the first node 401 informs the controller 400 of this situation and transmits these first packets to the second node 402 (step 512), without reserving at this stage these resources.
Après réception de ces premiers paquets du flux F, le deuxième nœud 402 procède similairement au nœud 401, i.e. il analyse les entêtes des paquets reçus, afin d'en extraire la valeur du champ ToS du flux (ici la valeur ToSl) indiquant le type de service associé au flux, consulte sa table de configuration pour déterminer les ressources requises associées au service correspondant à cette valeur ToSl, notamment les ressources associées à un deuxième tunnel virtuel reliant le nœud 402 au nœud suivant 403 ainsi qu'éventuellement des ressources de traitement au niveau du deuxième nœud 402 lui-même, et vérifie la disponibilité de ces ressources. After receiving these first packets of the stream F, the second node 402 similarly proceeds to the node 401, ie it analyzes the headers of the packets received, in order to extract the value of the ToS field of the stream (here the value ToS1) indicating the type service associated with the flow, consult its configuration table to determine the required resources associated with the service corresponding to this ToSl value, in particular the resources associated with a second virtual tunnel connecting the node 402 to the next node 403 as well as possibly processing resources at the second node 402 itself, and checks the availability of these resources.
Si ces ressources sont disponibles pour ce type de service au niveau du deuxième nœud 402, ce deuxième nœud 402 en informe à son tour le contrôleur 400 et transmet les premiers paquets du flux F vers le troisième nœud 403 (étape 513). Après réception de ces premiers paquets du flux F, le troisième nœud 403 procède similairement aux nœuds 401 et 402, i.e. il analyse les entêtes des paquets reçus, afin d'en extraire la valeur ToSl du champ ToS de ces paquets, consulte sa table de configuration pour déterminer les ressources requises associées au service correspondant à cette valeur ToSl, notamment les ressources associées à un troisième tunnel virtuel reliant le nœud 403 au nœud suivant 404 ainsi qu'éventuellement des ressources de traitement au niveau du troisième nœud 403 lui-même, et vérifie la disponibilité de ces ressources.  If these resources are available for this type of service at the second node 402, this second node 402 in turn informs the controller 400 and transmits the first packets of the stream F to the third node 403 (step 513). After receiving these first packets of the stream F, the third node 403 similarly proceeds to the nodes 401 and 402, ie it analyzes the headers of the packets received, in order to extract the ToS1 value from the ToS field of these packets, consult its table of configuration to determine the required resources associated with the service corresponding to this ToSl value, including the resources associated with a third virtual tunnel connecting the node 403 to the next node 404 as well as possibly processing resources at the third node 403 itself, and check the availability of these resources.
Si ces ressources sont disponibles pour ce type de service au niveau du troisième nœud 403, ce troisième nœud 403 en informe le contrôleur 400 et transmet les premiers paquets du flux F vers le quatrième nœud 404 (étape 514). Après réception de ces premiers paquets du flux F, le quatrième nœud 404 procède similairement aux nœuds 401 à 403, et analyse les entêtes des paquets reçus, afin d'en extraire la valeur ToSl du champ ToS de ces paquets, consulte sa table de configuration pour déterminer les ressources requises associées au service correspondant à cette valeur ToSl, notamment les ressources de traitement au niveau du quatrième nœud 404 lui-même, et vérifie la disponibilité de ces ressources. Ce quatrième nœud 404 étant le dernier nœud par lequel transite le flux F dans l'architecture 405, sa table de configuration ne lui indique pas de ressource à réserver par rapport à un éventuel tunnel virtuel, les paquets du flux F étant alors transmis vers le terminal ou le réseau du destinataire du flux sans recourir à un tunnel virtuel.  If these resources are available for this type of service at the third node 403, this third node 403 informs the controller 400 and transmits the first packets of the stream F to the fourth node 404 (step 514). After receiving these first packets of the stream F, the fourth node 404 similarly proceeds to the nodes 401 to 403, and analyzes the headers of the packets received, in order to extract the ToS1 value from the ToS field of these packets, consult its configuration table to determine the required resources associated with the service corresponding to this ToSl value, including the processing resources at the fourth node 404 itself, and verifies the availability of these resources. This fourth node 404 being the last node through which the stream F passes in the architecture 405, its configuration table does not indicate any resource to reserve against a possible virtual tunnel, the packets of the stream F being then transmitted to the terminal or the network of the recipient of the stream without resorting to a virtual tunnel.
Ensuite, comme illustré sur la figure 5B, lorsque le contrôleur 400 détermine que tous les nœuds 401 à 404 par lesquels transitent les premiers paquets du flux F ont des ressources disponibles associées à des tunnels virtuels, ainsi qu'à des ressources de traitement intrinsèques aux nœuds 401 à 404, il transmet à ces différents nœuds un message d'allocation de ces ressources (étape 515), afin de créer instantanément un réseau virtuel permettant le transport du flux F.  Then, as illustrated in FIG. 5B, when the controller 400 determines that all the nodes 401 to 404 through which the first packets of the stream F pass have available resources associated with virtual tunnels, as well as processing resources intrinsic to the data. nodes 401 to 404, it transmits to these different nodes an allocation message of these resources (step 515), to instantly create a virtual network for transporting the stream F.
Sur réception d'un tel message de réservation, chaque nœud réserve les ressources disponibles pour l'établissement d'un tunnel virtuel vers le nœud suivant, ainsi que des ressources de traitement intrinsèques à ce nœud, telles que déterminées précédemment lors de la vérification faisant suite à la réception des premiers paquets du flux F. Les tunnels virtuels 521 à 523, ainsi que les instances de traitement 531 à 534, sont ainsi réservés instantanément suite à l'envoi des messages de réservation, et le réseau virtuel destiné à transporter le flux F est construit en une seule fois, après vérification de la disponibilité de ressources sur l'ensemble du réseau virtuel ainsi créé. Upon receipt of such a reservation message, each node reserves the resources available for the establishment of a virtual tunnel to the next node, as well as processing resources intrinsic to this node, as determined previously during the verification following the reception of the first packets of the stream F. The virtual tunnels 521 to 523, as well as the processing instances 531 to 534, are thus reserved instantaneously following the sending of the reservation messages, and the virtual network intended to carry the stream F is built at one time, after checking the availability of resources on the entire virtual network thus created.
Par la suite, une fois que le service associé au flux F se termine, les nœuds de routage libèrent aussi bien les ressources de traitement intrinsèques utilisées par les instances de traitement 531 à 534 que les ressources associées aux tunnels virtuels 521 à 523 et informent le contrôleur 400 de la libération de ces ressources, ce qui permet à l'opérateur de l'infrastructure réseau de suivre en temps réel l'évolution des besoins en ressources, par exemple suite à l'introduction de nouveaux services, et de réaffecter notamment des ressources ainsi libérées à ces nouveaux services.  Subsequently, once the service associated with the stream F terminates, the routing nodes release both the intrinsic processing resources used by the processing instances 531 to 534 and the resources associated with the virtual tunnels 521 to 523 and inform the controller 400 of the release of these resources, which allows the operator of the network infrastructure to monitor in real time the evolution of resource requirements, for example following the introduction of new services, and reassign including resources thus released to these new services.

Claims

REVENDICATIONS
1- Procédé d'allocation de ressources pour la mise en œuvre d'un réseau virtuel dans un réseau de télécommunication comprenant une pluralité de nœuds de routage (401,402,403,404), le procédé comprenant les étapes suivantes, mises en œuvre par au moins un desdits nœuds de routage : A resource allocation method for implementing a virtual network in a telecommunication network comprising a plurality of routing nodes (401, 402, 403, 404), the method comprising the following steps, implemented by at least one of said nodes. Routing :
réception (300) de paquets d'un flux de données munis d'une entête comprenant un champ indiquant le type de service auquel est associé ledit flux ; et  receiving (300) packets of a data stream having a header including a field indicating the type of service with which said stream is associated; and
allocation (303) au flux de données, en fonction de la valeur dudit champ, d'au moins une ressource relative à un tunnel virtuel vers un autre desdits nœuds de routage.  allocating (303) the data stream, based on the value of said field, of at least one resource relating to a virtual tunnel to another of said routing nodes.
2- Procédé selon la revendication 1, dans lequel, outre ladite au moins une ressource relative à un tunnel virtuel, une ressource de traitement comprenant une partie des ressources calculatoire et de la mémoire du nœud de routage est allouée au flux de données. 2. The method of claim 1, wherein, in addition to said at least one resource relating to a virtual tunnel, a processing resource comprising a portion of the computing resources and the memory of the routing node is allocated to the data stream.
3- Procédé selon la revendication 1 ou 2, dans lequel les étapes de réception de paquets et d'allocation de ressource sont mises en œuvre successivement par chacun desdits nœuds de routage par lesquels transite les paquets du flux de données. The method of claim 1 or 2, wherein the packet receiving and resource allocation steps are successively implemented by each of said routing nodes through which the data stream packets transit.
4- Procédé selon la revendication 1 ou 2, comprenant en outre la vérification, pour chacun desdits nœuds de routage par lesquels transitent les paquets du flux de données, de la disponibilité de ladite au moins une ressource suite à la réception des paquets du flux de données ; The method according to claim 1 or 2, further comprising verifying, for each of said routing nodes through which the packets of the data stream transit, the availability of said at least one resource following the reception of the packets of the data stream. data;
l'allocation de ladite au moins une ressource étant mise en œuvre après vérification de la disponibilité de ladite au moins une ressource par l'ensemble desdits nœuds de routage par lesquels transitent les paquets du flux de données.  the allocation of said at least one resource being implemented after verifying the availability of said at least one resource by all of said routing nodes through which the packets of the data stream transit.
5- Procédé selon la revendication 4, dans lequel : The method of claim 4, wherein:
après vérification de la disponibilité de ladite au moins une ressource, lesdits nœuds de routage envoient un message à un contrôleur de réseau (400) indiquant si ladite au moins une ressource est disponible ; et  after verifying the availability of said at least one resource, said routing nodes send a message to a network controller (400) indicating whether said at least one resource is available; and
lorsque l'ensemble desdits nœuds de routage par lesquels transitent les paquets du flux de données ont indiqué qu'au moins une ressource est disponible, envoi (515) du contrôleur de réseau auxdits nœuds de routage d'un message d'allocation de ladite au moins une ressource au flux de données. when all the said routing nodes through which the packets of the data stream transit have indicated that at least one resource is available, sending (515) from the network controller to said routing nodes of an allocation message of said at least one resource to the data stream.
6- Procédé selon l'une des revendications 1 à 5, dans lequel ladite au moins une ressource relative à un tunnel virtuel est une partie de la bande passante, du débit maximal ou de la capacité maximale dudit tunnel virtuel. 6. Method according to one of claims 1 to 5, wherein said at least one resource relating to a virtual tunnel is a part of the bandwidth, maximum rate or maximum capacity of said virtual tunnel.
7- Procédé selon l'une des revendications 1 à 6, dans lequel le champ indiquant le type de service est le champ ToS de l'entête IP des paquets du flux de données. The method according to one of claims 1 to 6, wherein the field indicating the type of service is the ToS field of the IP header of the packets of the data stream.
8- Procédé selon l'une des revendications 1 à 7, dans lequel ladite au moins une ressource allouée est libérée lorsqu'aucun paquet du flux de données n'a été reçu pendant une durée d'observation. The method according to one of claims 1 to 7, wherein said at least one allocated resource is released when no packet of the data stream has been received during an observation period.
9- Procédé selon la revendication 1 à 8, dans lesdits nœuds de routage contiennent une table de configuration dans laquelle est mémorisée une correspondance entre au moins une valeur dudit champ et au moins une ressource relative à un tunnel virtuel vers un autre desdits nœuds de routage, le procédé comprenant en outre, suite à la réception des paquets du flux de données, la consultation de la table de configuration afin de déduire la ressource relative à un tunnel allouée en fonction de ladite correspondance. 9- Method according to claim 1 to 8, in said routing nodes contain a configuration table in which is stored a correspondence between at least one value of said field and at least one resource relating to a virtual tunnel to another of said routing nodes , the method further comprising, after receiving the packets of the data stream, consulting the configuration table to derive the resource relating to a tunnel allocated according to said correspondence.
10- Procédé selon la revendication 9, dans lequel une règle d'allocation, définie par défaut dans la table de configuration, est utilisée pour allouer ladite au moins une ressource lorsque la valeur dudit champ n'a pas d'équivalent dans ladite table de configuration. The method of claim 9, wherein an allocation rule, defined by default in the configuration table, is used to allocate said at least one resource when the value of said field has no equivalent in said table. configuration.
11- Procédé selon la revendication 9, dans lequel un message est envoyé à un contrôleur de réseau (400) lorsque la valeur dudit champ n'a pas d'équivalent dans la table de configuration, ledit contrôleur (400) retournant au nœud de routage une règle d'allocation à utiliser pour allouer ladite au moins une ressource. The method of claim 9, wherein a message is sent to a network controller (400) when the value of said field has no equivalent in the configuration table, said controller (400) returning to the routing node an allocation rule to be used to allocate said at least one resource.
12- Nœud de routage (401, 402, 403, 404) comprenant des moyens pour mettre en œuvre le procédé selon l'une des revendications 1 à 11. 12- routing node (401, 402, 403, 404) comprising means for implementing the method according to one of claims 1 to 11.
13- Contrôleur de réseau (400) comprenant des moyens pour initialiser et mettre à jour des tables de configuration mémorisées dans des nœuds de routage appartement à un réseau de télécommunication, lesdites tables de configuration mémorisant une correspondance entre au moins une valeur d'un champ, présent dans les entêtes de paquets d'un flux de données et indiquant le type de service auquel est associé ledit flux, et au moins une ressource relative à un tunnel virtuel entre deux desdits nœuds de routage. 14- Système de télécommunication composé d'une pluralité de nœuds de routage (401,402,403,404) et d'au moins un contrôleur de réseau (400), lesdits nœuds de routage comprenant des moyens pour mettre en œuvre le procédé selon l'une des revendications 1 à 11, et le contrôleur (400) comprenant des moyens pour mettre à jour les tables de configurations mémorisées par les nœuds de routage. 13- Network controller (400) comprising means for initializing and updating configuration tables stored in apartment routing nodes to a telecommunication network, said configuration tables storing a correspondence between at least one value of a field , present in the headers of packets of a data stream and indicating the type of service with which said stream is associated, and at least one resource relating to a virtual tunnel between two of said routing nodes. 14- telecommunication system composed of a plurality of routing nodes (401, 402, 403, 404) and at least one network controller (400), said routing nodes comprising means for implementing the method according to one of claims 1 11, and the controller (400) including means for updating the configuration tables stored by the routing nodes.
15- Système de télécommunication selon la revendication 14, dans lequel le contrôleur de réseau est configuré pour mettre à jour les tables de configuration en utilisant le protocole OpenFlow. The telecommunication system of claim 14, wherein the network controller is configured to update the configuration tables using the OpenFlow protocol.
PCT/FR2014/050491 2013-03-06 2014-03-05 Method for allocating resources for implementing virtual networks in a telecommunication network WO2014135793A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1352011A FR3003115A1 (en) 2013-03-06 2013-03-06 METHOD FOR ALLOCATING RESOURCES FOR IMPLEMENTING VIRTUAL NETWORKS IN A TELECOMMUNICATION NETWORK
FR1352011 2013-03-06

Publications (1)

Publication Number Publication Date
WO2014135793A1 true WO2014135793A1 (en) 2014-09-12

Family

ID=48521267

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2014/050491 WO2014135793A1 (en) 2013-03-06 2014-03-05 Method for allocating resources for implementing virtual networks in a telecommunication network

Country Status (2)

Country Link
FR (1) FR3003115A1 (en)
WO (1) WO2014135793A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9839061B2 (en) 2014-09-05 2017-12-05 Qualcomm Incorporated Establishing and configuring dynamic subscriptions
CN109962963B (en) * 2017-12-26 2020-08-18 中国移动通信集团公司 Message processing method and device

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010023451A1 (en) * 2000-03-20 2001-09-20 International Business Machines Method and system of dispatching socks traffic using type of service (TOS) field of IP datagrams
US7023879B1 (en) * 2001-03-09 2006-04-04 Cisco Technology, Inc. Dynamic multi-hop ingress to egress L2TP tunnel mapping
FR2876524A1 (en) * 2004-10-08 2006-04-14 France Telecom METHOD AND DEVICE FOR TRANSFERRING INFORMATION FLOWS IN A LABEL SWITCHED TELECOMMUNICATION NETWORK

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010023451A1 (en) * 2000-03-20 2001-09-20 International Business Machines Method and system of dispatching socks traffic using type of service (TOS) field of IP datagrams
US7023879B1 (en) * 2001-03-09 2006-04-04 Cisco Technology, Inc. Dynamic multi-hop ingress to egress L2TP tunnel mapping
FR2876524A1 (en) * 2004-10-08 2006-04-14 France Telecom METHOD AND DEVICE FOR TRANSFERRING INFORMATION FLOWS IN A LABEL SWITCHED TELECOMMUNICATION NETWORK

Also Published As

Publication number Publication date
FR3003115A1 (en) 2014-09-12

Similar Documents

Publication Publication Date Title
JP2016502372A (en) Method, node and computer program for routing data
EP2460322B1 (en) Method and system for the automatic selection of transmission media
WO2019185552A1 (en) Communication method
WO2014135793A1 (en) Method for allocating resources for implementing virtual networks in a telecommunication network
EP2856719B1 (en) Technique for communication in an information-centred communication network
FR2922398A1 (en) SYSTEM FOR INTERCONNECTING BETWEEN AT LEAST ONE COMMUNICATION APPARATUS AND AT LEAST ONE REMOTE INFORMATION SYSTEM AND INTERCONNECTION METHOD
EP3777308B1 (en) Communication method
EP1958393B1 (en) Method and apparatus for distant congestion control of meshed streams in a packet-switched telecommunications network
WO2020221779A1 (en) Methods and devices for measuring reputation in a communication network
EP2815547B1 (en) Technique for processing a data stream between a server and a client entity
EP3122005A1 (en) Routing system allowing the filtering of data for integrating and testing operational equipment
EP3032786B1 (en) Processing system and method in a telecommunication platform
WO2014135794A1 (en) Congestion control method for telecommunications networks
EP4020926B1 (en) Routing method for routing an elastic flow in a transport network
EP2640004B1 (en) Method for managing data-flow exchanges in a standalone telecommunications network
EP2119140B1 (en) Method for conveying a data packet through a router in a packet communication network supported by a transport network
EP2530877B1 (en) Instrumentation system and methods
EP3231137B1 (en) Overlay network for communication network connecting data centres of a cloud services provider
FR3034272A1 (en) COMMUNICATION NETWORK AND COMMUNICATION NODE OF A COMMUNICATION NETWORK
WO2021064310A1 (en) Method for monitoring a data stream associated with a process within a shared network
EP4364387A1 (en) Method for checking shared content delivery
FR2780839A1 (en) Procedure and system for communication of information
EP2827639A1 (en) Method of managing at least one dynamic virtual connection between a mobile terminal and a communication network, associated computer program products and communication network
FR2780836A1 (en) System for data communication
EP2476225A1 (en) Method and system for controlling the routing of a data stream from a class of service through a meshed and encrypted network

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: 14713528

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14713528

Country of ref document: EP

Kind code of ref document: A1