WO2024068350A1 - Sélection d'un dispositif adapté pour héberger au moins un processus d'une application parmi une pluralité de dispositifs d'une infrastructure de communication, l'application étant instanciée à partir de l'au moins un processus - Google Patents

Sélection d'un dispositif adapté pour héberger au moins un processus d'une application parmi une pluralité de dispositifs d'une infrastructure de communication, l'application étant instanciée à partir de l'au moins un processus Download PDF

Info

Publication number
WO2024068350A1
WO2024068350A1 PCT/EP2023/075726 EP2023075726W WO2024068350A1 WO 2024068350 A1 WO2024068350 A1 WO 2024068350A1 EP 2023075726 W EP2023075726 W EP 2023075726W WO 2024068350 A1 WO2024068350 A1 WO 2024068350A1
Authority
WO
WIPO (PCT)
Prior art keywords
application
client entity
selection
devices
infrastructure
Prior art date
Application number
PCT/EP2023/075726
Other languages
English (en)
Inventor
Ilhem FAJJARI
Baudouin HERLICQ
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 WO2024068350A1 publication Critical patent/WO2024068350A1/fr

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • H04L41/122Discovery or management of network topologies of virtualised topologies, e.g. software-defined networks [SDN] or network function virtualisation [NFV]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/40Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/52Network services specially adapted for the location of the user terminal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5061Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the interaction between service providers and their network customers, e.g. customer relationship management
    • H04L41/5067Customer-centric QoS measurements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0817Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route

Definitions

  • the invention is implemented in a communications network, such as a telecommunications network capable of routing communications data from and to fixed or mobile terminals.
  • the invention aims more precisely to dynamically select one or more devices capable of hosting an application intended to be used by a client entity.
  • the applications are installed in a durable and fixed manner on devices of a communication network and naming information of the DNS type (in English Domain Name System) or URI (in English Uniform Resource Identifier) makes it possible to identify and attach a device as well as an application installed on a device.
  • the devices can be physical equipment or virtualized instances such as virtual machines.
  • the development of network virtualization and the implementation of distributed architectures, particularly based on MEC (Mobile Edge Computing) type solutions, aimed at deploying storage and computing infrastructures as close as possible to users is essential. more and more common. These storage and computing infrastructures are also limited in resources and the users are themselves connected in different locations requiring applications to be deployed in a multitude of computing and storage infrastructures.
  • On-demand instantiation services to avoid static configuration and installation of applications appear little by little, particularly among entities hosting content, but these offers, although more dynamic, are linked to content and do not make it possible to meet on-demand needs on a geo-distributed infrastructure and do not make it possible to respond in particular to new types of application, such as for example gaming applications while traveling, for example within a vehicle.
  • Existing solutions therefore do not make it possible to manage in an economical manner, in particular the access resources of a communication network including the devices hosting the applications, these resources being limited since they are deployed on the periphery of a network infrastructure, while guaranteeing provides the user of an application with optimal quality of service independent of their location.
  • solutions relating to the state of the art are quite expensive when an application must be deployed or updated, due to the multitude of PoPs to be updated, generally simultaneously to ensure satisfactory access to a plurality of users.
  • the object of the present invention is to provide improvements compared to the state of the art.
  • the invention improves the situation using a method for selecting a device suitable for hosting at least one process of an application among a plurality of devices of a communication infrastructure, the application being instantiated at from the at least one process, the method being implemented by an entity for managing the topology of the infrastructure, adapted to manage resources of the plurality of devices, and comprising:
  • the selected device further comprising a resource making it possible to satisfy the parameter obtained.
  • the selection method is new and inventive since it makes it possible to dynamically use an application, comprising at least one process or executed from at least one process, on one or more selected devices identified as a device. 'accommodation.
  • This allows a customer to use the application, such as a data service (audio, video, text, etc.), guaranteeing compliance with the constraints associated with this application.
  • the selection of an appropriate device makes it possible to guarantee a satisfactory customer experience for the customer who requested the use of the application and on the other hand a saving in the use of infrastructure resources.
  • the method proves to be particularly relevant for applications or services requiring low latency where the position of the device, close to the client entity, and the characteristic or parameter of the service, for example QoS, make it possible to satisfy a latency requirement. specific to the required service.
  • the method is particularly relevant because it makes it possible to deploy an application by selecting a device for each of the processes required to instantiate the application, each process being able to have distinct parameters and being able to be hosted more or less far from a client entity.
  • certain processes of an application could be installed close to a client entity (for example in an MEC architecture (in English Mobile Edge Computing) while other processes of the application could be installed in the heart of the network of the infrastructure.
  • An infrastructure device can correspond independently to a physical device (server, network equipment) or to a virtual machine.
  • the client entity has a fairly broad meaning since it can be a client terminal ( PC, smartphone, box, etc.) but the usage request can also be obtained from an infrastructure administration entity, for example to instantiate a network application, also called a network service, in the infrastructure. For example, this may involve instantiating a new routing protocol in a network infrastructure or even a web access service optimization function.
  • the method further comprises an instantiation of the at least one process on the selected device.
  • the management entity can advantageously instantiate, directly or via another entity of the infrastructure, the process on a device in order to meet the requirements (parameters, location) required.
  • the process also makes it possible to be able to best adjust the use of infrastructure resources by deploying applications on demand and thus limiting the use of resources of infrastructure devices.
  • the selection method further comprises a transmission to the client entity of an instruction to put the client entity on hold corresponding to the instantiation delay of the at least a process on the selected device.
  • At least one entity or device of the infrastructure thus includes a hardware or software component making it possible to put a client entity on hold before the actual instantiation of the application or process on a hosting device.
  • the parameter associated with the at least one process belongs to the group comprising:
  • the selection method can advantageously be implemented by taking into account one or more parameters.
  • device capacity parameters in terms of CPU (in English Central Processing Unit) and/or GPU (in English Graphics Processing Unit) can be taken into account to quantify the resources required for the device or devices to be selected.
  • Parameters relating to the process, particularly related to latency and quality of service can be taken into consideration for the selection of the device.
  • the selection method further comprises a transmission to the client entity of identification data of the selected device.
  • the management entity transmits to the client entity having issued the use request an identification data of the selected device, such as as DNS information (in English Domain Name System), information of the URI type (in English Uniform Resource Identifier), allowing the client entity for example to be able to directly contact this device and therefore the process or even the application.
  • an identification data of the selected device such as as DNS information (in English Domain Name System), information of the URI type (in English Uniform Resource Identifier), allowing the client entity for example to be able to directly contact this device and therefore the process or even the application.
  • the infrastructure topology management entity uses a weighted directed graph comprising the plurality of infrastructure devices to select the device from the plurality.
  • the management entity can advantageously use a weighted directed graph to have improved knowledge of the distance of a device from the client entity and thus consider a distance, not only in relation to a geographical and/or topological distance. , but also in relation to link capacities between devices and/or processing capacities of devices.
  • the selection of the device among the plurality comprises:
  • the method may include a step of selecting a set of devices from the plurality, this set being at a maximum required distance from the client entity, this maximum distance being determined in relation to a reference value determined for example by the infrastructure operator and making it possible to guarantee a level of quality of service and/or a maximum number of hops for the device to be selected for the application process(es).
  • This selection of a device in two stages allows firstly to consider only the eligible devices and then to analyze the hardware and software resources (memory, CPU, processing capacity, etc.) of these eligible devices only, knowing that ineligible devices, even if they had sufficient resources, could not be selected due to their distance from the client entity.
  • the reference value corresponds to a number of hops between a device to be selected and the client entity, and/or to a geographical distance between the device to be selected and the client entity, and/or at a distance between the device to be selected and the client entity taking into account a weighting of at least one link and/or at least one function of the infrastructure positioned between the entity client and the device to select in the weighted graph.
  • a reference value representing the distance between the client entity and the device to be selected can be represented by a variety of parameters used individually or in combination.
  • a number of hops between the client entity and the device to be selected corresponding for example to a number of functions, illustrates the topology of the infrastructure.
  • a geographic distance may be relevant if, for example, the infrastructure is centralized and the number of hops provides little information on the distance.
  • Taking weighting into account provides improved information on the “distance” since a link or function of the infrastructure (possibly virtualized routing equipment, router, switch, etc.) having better capacities can be more suitable than a device that is closer from a topological point of view but whose lower capacities prove less advantageous in guaranteeing a level of quality of service for the process and therefore for the client entity for example.
  • a link or function of the infrastructure possibly virtualized routing equipment, router, switch, etc.
  • the method comprises at least one increment of the reference value up to a maximum reference value in the case where no device is selected and for each increment , a determination step and a selection step, according to the embodiment described above.
  • the reference value can be increased incrementally up to a maximum value, no longer making it possible to guarantee a quality of experience sufficiently satisfactory for the process and the client entity or exceeding an authorized limit of deployment of the application in the infrastructure. If the maximum value is reached, the process cannot be used and/or instantiated on any device in the infrastructure.
  • a single device is selected for a set of processes required for the instantiation of the application, the parameter obtained being relative to all the processes.
  • a single device of the infrastructure can advantageously be selected. The selection can then be based on obtaining a parameter relating to the application or all of the processes concerned to determine the suitable device.
  • the invention also relates to a device for selecting a device suitable for hosting at least one process of an application among a plurality of devices of a communication infrastructure, the application being instantiated from the at least one process , characterized in that the device is configured to implement:
  • the selected device further comprising a resource making it possible to satisfy the parameter obtained.
  • This selection device is capable of implementing in all its embodiments the selection process which has just been described.
  • the invention also relates to a system for selecting at least one device adapted to host at least one process of an application among a plurality of devices of a communication infrastructure, the application being instantiated from the at least a process, characterized in that the system comprises a selection device, as described above, and a client entity adapted to send the request for use of the application to the selection device.
  • the invention also relates to a computer program comprising instructions for implementing the steps of the selection method which has just been described, when this program is executed by a processor and a recording medium readable by a selection device on which the computer program is recorded.
  • the above-mentioned program may use any programming language, and be in the form of source code, object code, or intermediate code between source code and object code, such as in partially compiled form, or in n any other desirable shape.
  • a medium may comprise a storage means, such as a ROM, for example a CD ROM or a microelectronic circuit ROM, or even a magnetic recording means.
  • a storage means such as a ROM, for example a CD ROM or a microelectronic circuit ROM, or even a magnetic recording means.
  • Such a storage means can for example be a hard disk, flash memory, etc.
  • an information carrier may be a transmissible medium such as an electrical or optical signal, which may be carried via an electrical or optical cable, by radio or by other means.
  • a program according to the invention can in particular be downloaded onto an Internet-type network.
  • an information carrier may be an integrated circuit in which a program is incorporated, the circuit being adapted to execute or to be used in executing the method in question.
  • FIG 1 presents a network infrastructure in which the selection method is implemented according to one aspect of the invention
  • FIG 2 describes an implementation of the selection method, according to one embodiment of the invention.
  • FIG 3 describes an implementation of the selection method, according to another embodiment of the invention.
  • FIG 4 describes a selection device, according to one embodiment of the invention.
  • communications infrastructure or “communication network” can be used interchangeably in the embodiments of the invention.
  • This communications infrastructure can be implemented to route communication data to fixed or mobile terminals and the infrastructure can be implemented from physical equipment and/or virtualized functions.
  • This infrastructure can be used for the routing and/or processing of data from residential or business customers, fixed and mobile users, and can be operated by a telecommunications operator.
  • FIG 1 presents a communication infrastructure in which the selection method is implemented according to one aspect of the invention.
  • an entity 110 for managing the topology of the infrastructure 200 manages the different resources 102, 103, 104, VM1, VM2, VM3, VM4, VM5 of the infrastructure 200.
  • This management entity 110 also called Topology Server, thus maintains a database including information on the different devices or resources 102, 103, 104, VM1, VM2, VM3, VM4, VM5 and on the applications and processes Procl, Proc2, Proc3 and Proc4 instantiated and instantiable on these devices.
  • a device according to the invention can be physical equipment 102, 103, 104 or a virtual instance such as a virtual machine VM1, VM2, VM3, VM4 and VM5 or even a container, according to another example.
  • the virtual machine VM1 thus corresponds to the virtual machine VM1 on the physical equipment 102.
  • a process is considered instantiable on a device if its dependencies are installed, if the container images of the components comprising one or more processes are available on the device , if the device is authorized, for example by the infrastructure manager or the resource manager, to host this process.
  • the management entity 110 comprises a selection device 100 (Sel) executing selection operations with a view to identifying a device of the infrastructure 200 already hosting a required process or to identifying a device on which will be instantiated a process required by a client entity (Clt).
  • This selection can be carried out using a weighted directed graph comprising all of the devices 102, 103, 104, VM1, VM2, VM3, VM4, VM5 of the infrastructure 200 to select the device capable of hosting the process in accordance with the usage request received from the client entity 10.
  • the client entity 10 may be a user terminal such as a smartphone, a PC, a residential gateway or any other device that a user can exploit to execute or use an app.
  • the client entity Clt can also be an administration entity of the communication infrastructure, in charge for example of deploying network services on demand, therefore dynamically.
  • the application can be a value-added application, such as a voice, video and/or data service for example with a server or a terminal not shown in [Fig 1].
  • An application can be instantiated from one or more processes, a process being characterized by an ordered sequence of operations leading to a result.
  • the application required by the client entity 10 from the management entity 110 comprises four processes Procl, Proc2, Proc3 and Proc4, these processes being able to be processes relating to network operations and /or application type operations. According to an example, this may involve an operation of discovering a server, connecting to a server, receiving an application flow, or processing an application flow.
  • Each process Procl, Proc2, Proc3 and Proc4 of the application is characterized by a set of parameters. According to a non-exhaustive list of these parameters, a parameter can be
  • this data can be represented for example by a number of milliseconds for a packet routed between the client entity and the device, this data can correspond to the Ping or Traceroute type network tool result,
  • this data can be represented by a quality level of service (standard, silver, gold) or by guarantees of routing a data flow of a typical application.
  • Each application therefore includes one or more processes, such as the Procl, Proc2, Proc3 and Proc4 processes, each process being characterized by a certain number of constraints or parameters, such as minimum amount of CPU/memory resources, use of a GPU ( in English Graphics Processing Unit), maximum latency allowed between the instantiated application and the user in particular to guarantee optimal quality of experience for the user of the client entity 10.
  • the management entity 110 uses these parameters or constraints as well as the location of the client entity to determine the most suitable device for the use of the application by the client entity. So in the case where a process is already instantiated in the infrastructure 200, the management entity 110 must determine whether the location of this device is suitable for the execution of the application by the client entity having transmitted the request and whether on the other hand, the process is implemented in accordance with the identified parameters.
  • the parameters can in fact be linked to the different processes Procl, Proc2, Proc3 and Proc4 of the application but also to the type of client entity 10, knowing for example that the parameters in terms of quality of service differ depending on example that the client entity is a terminal adapted to very high speed quality or not for example.
  • the client entity 10 can be an administration station of the communication infrastructure 200 and the selection method is implemented to select and possibly instantiate a network service of the access, routing, address translation type. , conversion of protocols in the communication infrastructure 200.
  • the client entity Clt sends to the entity managing the topology of a communication infrastructure comprising a selection device Sel a request Req for use of an application.
  • the request can for example include an FQDN (Fully Qualified Domain Name) request to obtain the usage of an application.
  • the client entity Clt will have previously been authenticated, in particular to verify that it can actually use the requested application and it will also have obtained the address of the management entity, for example when connecting to a communication infrastructure or by static configuration, for example in the case where the client entity is an infrastructure administration platform.
  • the use request can be transmitted directly or indirectly, for example via an application management platform, to the management entity and therefore to the selection device included in the management entity.
  • the selection device Sel having received this request, determines and selects the device(s) hosting or capable of hosting the application or a process of the application.
  • the selection device Sel identifies the processes relating to the application. This step can be carried out from a database owned or not by the selection device Sel or it can be carried out by the service platform in the case where the request for use of the client entity is routed via this platform. In this case, the platform will forward the request and associated processes to the required application.
  • the client entity transmits the usage request comprising process identifiers associated with the required application.
  • the application includes a single process and this identification is not necessary. The process is represented by the application required by the client entity. It is considered in this example that the application whose use is required includes four processes Procl, Proc2, Proc3 and Proc4.
  • the selection device Sel obtains one or more parameters associated with each process identified during the previous step or with the application, in the case for example where the application is single-process.
  • This obtaining can be carried out through an internal database of the topology management entity making it possible to characterize a process by one or more parameters such as those described in [Fig 1], This obtaining can also be carried out via another entity capable of identifying the parameters associated with a process.
  • the selection device will send a request including a process identifier to an entity managing the processes and will receive in return the parameters which are associated with the process.
  • the service platform indicated in the description of step El above can also transmit the parameters associated with the processes.
  • the parameters Pari and Par2 are obtained for the process Procl, the parameter Par3 for the process Proc2, the parameters Par3 and Par4 for the process Proc3 and the Pari and Par4 parameters for the Proc4 process.
  • the selection device Sel selects one or more devices of the communication infrastructure, this or these devices having to be positioned according to a required distance between the selected device and the client entity Clt.
  • the selected device(s) must also include resources making it possible to satisfy the parameters obtained previously and corresponding to each process.
  • the selection device must select a device for each process Procl, Proc2, Proc3 and Proc4, the devices selected for each process may or may not be distinct.
  • the device selected for the process Procl must include resources capable of satisfying the parameters Pari and Par2, the device selected for the process Proc2 must include resources capable of satisfying the parameter Par3, the device selected for the process Proc3 must include resources capable of to satisfy the parameters Par3 and Par4, the device selected for the Proc4 process must include resources capable of satisfying the Pari and Par4 parameters.
  • the Sel selection device uses the location of the client entity, this location possibly being topological and/or geographical. Information on the location of the client entity, which may be an IP address and/or a GPS coordinate or any other data providing information on the location of the client entity, is for example transmitted when sending the request.
  • This location data of the client entity is taken into account by the selection device to deploy, for example, applications in MEC type architectures (in English Mobile Edge Computing) and/or to ensure a balanced distribution of processes used by the client entities in the different infrastructure devices.
  • the selection device for example using its database on the processes deployed in the different devices and/or on the resources available on the devices capable of hosting one or more processes, selects one or more devices VM1, VM2 and VM5 associated with each process and whose distance from the client entity Clt is for example less than a reference value, for example specific to a process and/or to the infrastructure, determined by the selection device.
  • this selection step E3 comprises several sub-steps. The following steps are carried out for the selection of a device for the process Procl but these steps are identical for the selection of a device for the other processes Proc2, Proc3 and Proc4, knowing that the different selections for the different processes can be made iteratively or in parallel.
  • the selection device Sel determines a set of devices among the plurality, this set comprising devices positioned at a distance less than a reference value based on location data from the client entity Clt .
  • This reference value represents for example a number of hops in the infrastructure between a potentially selected infrastructure hosting device and the client entity, and/or a geographic distance between the potentially selected device and the client entity.
  • a weighting of at least one link and/or at least one function (equipment, router, switch, etc.) positioned between the the client entity and the device to be selected, for example from a weighted directed graph as described above.
  • the number of jumps corresponds for example to a number of functions ensuring the routing of a packet of a process between the client entity Clt and a potentially selected device.
  • the set of devices determined as valid with respect to the reference value includes the devices VM1, VM2, VM3, VM4 as presented in [Fig 1]. Knowing that only the location data of the client entity Clt is taken into account for the definition of this set, these devices in the set are a priori selectable for the different processes Procl, Proc2, Proc3 and Proc4.
  • the selection device Sel selects during a step E32 among these preselected devices VM1, VM2, VM3, VM4 alone, the device comprising resources capable of satisfying the parameters Pari and Par2 of the Process Procl.
  • the Sel selection device determines whether one or more devices among the devices VM1, VM2, VM3, VM4 are already hosting the process in accordance with the Pari and Par2 parameters. If so, the Sel selection device selects it. If more than one device hosts the process, the selection device Sel chooses one among these devices either according to the distance of the device to be selected from the client entity Clt or for example according to the storage or calculation capacities of the device .
  • the selection device Sel selects during step E32 the device or the virtual machine VM1.
  • the selection device Sel informs the client entity Clt about the device VM1 selected for the process Procl. This step can be carried out immediately after step E32 or after the complete end of step E3.
  • the selection device transmits a message comprising the different devices instantiating the different processes Procl, Proc2, Proc3 and Proc4 once a device has actually been selected for each process of the application, thus avoiding informing the client entity Clt by a message associated with each process, and only informing the client entity when the application, and therefore all of the processes required for the instantiation of the application, can be effectively instantiated in the communications infrastructure.
  • This selection step E32 is repeated for the other processes Proc2, Proc3 and Proc4. If, during step E32, no device hosts a required process, then the selection device Sel instantiates the process on a device having the resources required to satisfy the parameters associated with the process. For example, the selection device Sel does not identify any device among the devices VM1, VM2, VM3, VM4 instantiating the process Proc2 and determines during step E'32 that the device VM2 has the resources for the instantiation of the process Proc2. During a step E5, the selection device instantiates the process Proc2 on the device or virtual machine VM2. This instantiation can be carried out directly by the selection device Sel or via another entity of the infrastructure, such as a device configuration entity.
  • the selection device Sel transmits a waiting message to the client entity Clt, to indicate to it that the process is being instantiated.
  • the waiting message relates to the requested application and the message is sent to the client entity Clt when one or more of the processes Procl, Proc2, Proc3, Proc4 of the application must be instantiated on a hosting device.
  • the client entity Clt receives a waiting message directly linked to the use request initially transmitted.
  • Waiting corresponds for example to the transmission of information on "a waiting room", corresponding to a component installed on a hosting device VM1, VM2, VM3, VM4 or on the management entity 110 or even on a specific device not shown, which redirects the client entity to the installed process once it has actually been installed.
  • a waiting room corresponding to a component installed on a hosting device VM1, VM2, VM3, VM4 or on the management entity 110 or even on a specific device not shown, which redirects the client entity to the installed process once it has actually been installed.
  • sending the wait instruction and using the waiting room on the device is not required unless the process is in standby or inoperative mode for a period.
  • the waiting room is advantageously implemented in one of the devices hosting one of the processes, for example in a device comprising a process for managing application resources.
  • This device whether it is a hosting device VM1, VM2, VM3, VM4, the management entity 110 or a specific device assigned to this role, must thus be informed of the instantiation effective of all the processes required for the instantiation of the application, in order to redirect the client entity Clt, for example by implementing an http redirection or by the use of an FQDN associated with the application.
  • Steps E5 and E6 can be carried out directly after step E'32 or after the termination of step E3 for all of the processes Procl, Proc2, Proc3 and Proc4 as shown in [Fig 2].
  • the reference value used to define a set of devices capable of hosting a process of the application is incremented during a step E”31.
  • the increment may consist of adding one or more hops and/or expanding the geographic distance from the client entity Clt.
  • the set of eligible hosting devices also includes the VM5 device now eligible to host one of the processes.
  • the selection device Sel determines during a step E” '32 that the device VM5 is able to instantiate the process Proc3 in accordance with the parameters Par4 and Par5.
  • the selection device Sel instantiates the process Proc3 on the virtual machine VM5 during a step E7 and, according to an alternative, transmits a waiting instruction to the client entity Clt during a step E8.
  • step E”31 is repeated until the reference value reaches a maximum.
  • the process could not be instantiated on a device in the infrastructure and the application, in the case where this process is absolutely necessary for the operation of the application, cannot be installed in the infrastructure in accordance with the required requirements. .
  • the selection device informs the client entity Clt that the application cannot be used by the client and that its request cannot therefore be satisfied.
  • the selection device determines among the eligible devices, before or after the increment of the reference value, that the device VM1 instantiates the process Proc4 and selects it.
  • the selection device has the possibility of considering only the devices VM1, VM2, VM3 and VM4 to determine the device capable of hosting the process Proc4 or it can also consider the device VM5, depending on whether it performs step E” ”32 after step E”31 as in [Fig 2] or before this step E”31 according to an alternative not shown.
  • the selection device can in fact select all possible processes in the set of devices defined by the reference value, or consider the largest possible set in relation to the reference value to select a device.
  • step E3 only includes one iteration and the selection device selects the devices for the different processes in a set of devices defined in relation to the location of the client entity without the possibility of modifying this set.
  • the selection device Sel can advantageously inform when of a step E9 the client entity Clt on the availability of the application in its completeness and possibly inform the client entity on the devices VM1, VM2 and VM5 used for the instantiation of the application processes.
  • This information is particularly relevant in the case where the client entity Clt is an infrastructure administration entity where the information on the hosting of the processes of an application is very relevant, in particular to ensure the management and identification of incidents or degradation of quality of service.
  • a device is selected to host an application, in accordance with a request for use of that application from a client entity.
  • the application is single-component and the process or processes of the application are hosted on a single device of a communication infrastructure.
  • FIG 3 presents the steps implemented by a device for selecting a communication infrastructure management entity.
  • the device receives a request for use of an application from a client entity and obtains a set of parameters relating to this application, in accordance with steps El and E2 described in [Fig 2] .
  • the selection device determines during a step E3 a set of devices whose distance from the entity client is less than a distance N.
  • the selection device evaluates whether a device among the devices determined during step E31a has sufficient resources and has already instantiated the application required by the client entity, in accordance with the parameters obtained during step E2.
  • the device informs the client entity during a step E9. If no device has instantiated it, the selection device evaluates during a step E32b whether a device selected during step E31a has the necessary resources for the process or processes of the required application, and consecutively the application itself. If a device is actually suitable for this hosting, it is selected, and an identifier (IP address, URI, FQDN identifier) is transmitted to the client entity during a step E9. In Furthermore, the application is actually instantiated on the device selected during a step E5.
  • IP address, URI, FQDN identifier IP address, URI, FQDN identifier
  • the device determines during a step E31b whether the value N is equal to or greater than a reference value NMax, representative of a maximum acceptable distance for a device to host the required application. If the value is equal to or greater than this value N, an error message is returned to the client entity during a step E10 indicating that the client entity cannot use the application or cannot install the application, depending on the client entity considered.
  • NMax representative of a maximum acceptable distance for a device to host the required application.
  • step E3 le In the case where the value N is less than the value NMax, the value N is incremented during a step E3 le, this increment may correspond to an increase in the number of jumps and/or to a larger radius of the domain in which a device is selected.
  • step E3 is carried out again.
  • Steps E31a, E31b and E31 c are sub-steps of step E31 described in [Fig 2] and steps E32a and E32b are sub-steps of step E32 described in [Fig 2].
  • FIG 4 presents a selection device 100 according to one embodiment of the invention.
  • Such a selection device can be implemented in a management entity, such as the administration entity of a telecommunications network, for example instantiated from virtualized functions.
  • the selection device 100 comprises a processing unit 130, equipped for example with a microprocessor pP, and controlled by a computer program 110, stored in a memory 120 and implementing the selection method, in the different embodiments, according to the invention.
  • a computer program 110 stored in a memory 120 and implementing the selection method, in the different embodiments, according to the invention.
  • the code instructions of the computer program 190 are for example loaded into a RAM memory, before being executed by the processor of the processing unit 130.
  • Such a selection device 100 comprises a module 101 reception, configured to receive from a client entity a Req request for use of the application, an obtaining module 102, configured to obtain a parameter associated with the at least one process and location data of the client entity, a module 103 for selecting the device from among the plurality, whose position in the infrastructure is at a required distance relative to the location data of the client entity obtained, the selected device further comprising a resource allowing the parameter obtained to be satisfied.
  • the selection device 100 further comprises a transmitter, adapted to transmit to the client entity an instruction to put the client entity on hold corresponding to the instantiation delay of the at least one process on the device selected.
  • the transmitter is configured to transmit identification data of the selected device to the client entity.
  • the selection device 100 comprises a determination module, adapted to determine a set of devices among the plurality comprising devices whose distance relative to the client entity is less than a reference value calculated from the data of location, and a selection module, adapted to select the device from the determined set of devices, said device comprising resources capable of satisfying the parameter.
  • module can correspond as well to a software component as to a hardware component or a set of hardware and software components, a software component itself corresponding to one or more computer programs or subprograms or in a manner more general to any element of a program capable of implementing a function or a set of functions.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Medical Informatics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Stored Programmes (AREA)

Abstract

L'invention concerne un procédé de sélection d'un dispositif adapté pour héberger au moins un processus (Proc1, Proc2, Proc3, Proc4) d'une application parmi une pluralité de dispositifs (102, 103, 104, VM1, VM2, VM3, VM4, VM5) d'une infrastructure (200) de communication, l'application étant instanciée à partir de l'au moins un processus, le procédé étant mis en œuvre par une entité de gestion (110) de la topologie de l'infrastructure, adaptée pour gérer des ressources des dispositifs de la pluralité, et comprenant une réception en provenance d'une entité cliente (Clt) d'une requête d'utilisation de l'application, une obtention d'un paramètre associé à l'au moins un processus (Proc1, Proc2, Proc3, Proc4) et d'une donnée de localisation de l'entité cliente, une sélection du dispositif (VM1, VM2, VM5) parmi la pluralité, dont la position dans l'infrastructure est à une distance requise par rapport à la donnée de localisation de l'entité cliente obtenue, le dispositif sélectionné comprenant en outre une ressource permettant de satisfaire le paramètre obtenu.

Description

DESCRIPTION
SÉLECTION D'UN DISPOSITIF ADAPTÉ POUR HÉBERGER AU MOINS UN PROCESSUS D'UNE APPLICATION PARMI UNE PLURALITÉ DE DISPOSITIFS D'UNE INFRASTRUCTURE DE COMMUNICATION, L'APPLICATION ÉTANT INSTANCIÉE À PARTIR DE L'AU MOINS UN PROCESSUS
1. Domaine technique
L'invention est mise en œuvre dans un réseau de communication, tel qu’un réseau de télécommunication apte à acheminer des données de communication en provenance et à destination de terminaux fixes ou mobiles. L’invention vise plus précisément à sélectionner dynamiquement un ou plusieurs dispositifs aptes à héberger une application destinée à être utilisée par une entité cliente.
2. Etat de la technique
Selon les techniques connues, les applications sont installées de façon durable et fixe sur des dispositifs d’un réseau de communication et une information de nommage de type DNS (en anglais Domain Name System) ou URI (en anglais Uniform Resource Identifier) permettent d’identifier et de joindre un dispositif ainsi qu’une application installée sur un dispositif. Les dispositifs peuvent être des équipements physiques ou bien des instances virtualisées telles que des machines virtuelles. Le développement de la virtualisation des réseaux et la mise en œuvre d’architectures distribuées, notamment basées sur des solutions de type MEC (en anglais Mobile Edge Computing), visant à déployer des infrastructures de stockage et de calcul au plus près des utilisateurs est de plus en plus commune. Ces infrastructures de stockage et de calcul sont par ailleurs limitées en ressources et les utilisateurs sont eux-mêmes connectés dans différentes localisations requérant de déployer des applications dans une multitude d’infrastructures de calcul et de stockage. Ce développement des ressources à l’accès, aussi appelées Edge Computing en anglais, est le plus souvent adapté, selon les techniques de l’art antérieur, au déploiement de ressources de type CDN (en anglais Content Delivery Network) qui permettent d'héberger du contenu de façon statique (comme des caches), sur des PoP (en anglais Point of Presence) géo-distribués. Ces architectures ne sont pas optimales car d’une part, il faut répliquer des contenus et des applications sur une pluralité voire l’ensemble des PoPs pour satisfaire, en garantissant une bonne qualité d’expérience, les différents clients souhaitant accéder à l’application et au contenu et cette méthode est donc coûteuse en termes de ressources et peu adaptée à une évolution croissante des applications et des contenus auxquels les clients veulent accéder indépendamment de leur localisation voire pendant leur mobilité. Des services d’instanciation à la demande permettant d’éviter la configuration et l’installation statique d’applications apparaissent peu à peu, notamment chez les entités hébergeant des contenus, mais ces offres, bien que plus dynamiques sont liées à des contenus et ne permettent pas de répondre à des besoins à la demande sur une infrastructure géo-distribuée et ne permettent pas de répondre notamment à de nouveaux types d’application, telles que par exemple les applications de jeux en situation de déplacement, par exemple au sein d’un véhicule. Les solutions existantes ne permettent donc pas de pouvoir gérer de façon économe notamment des ressources d’accès d’un réseau de communication comprenant les dispositifs hébergeant les applications, ces ressources étant limitées puisque déployées en périphérie d’une infrastructure de réseau, tout en garantissant à l’utilisateur d’une application une qualité de service optimale indépendante de sa localisation. Par ailleurs, les solutions relevant de l’état de la technique sont assez coûteuses lorsqu’une application doit être déployée ou mise à jour, en raison de la multitude de PoPs à mettre à jour, généralement de façon simultanée pour assurer un accès satisfaisant à une pluralité d’utilisateurs.
La présente invention a pour objet d’apporter des améliorations par rapport à l’état de la technique.
3. Exposé de l'invention
L'invention vient améliorer la situation à l'aide d'un procédé de sélection d’un dispositif adapté pour héberger au moins un processus d’une application parmi une pluralité de dispositifs d’une infrastructure de communication, l’application étant instanciée à partir de l’au moins un processus, le procédé étant mis en œuvre par une entité de gestion de la topologie de l’infrastructure, adaptée pour gérer des ressources des dispositifs de la pluralité, et comprenant :
- une réception en provenance d’une entité cliente d’une requête d’utilisation de l’application,
- une obtention d’un paramètre associé à l’au moins un processus et d’une donnée de localisation de l’entité cliente,
- une sélection du dispositif parmi la pluralité, dont la position dans l’infrastructure est à une distance requise par rapport à la donnée de localisation de l’entité cliente obtenue, le dispositif sélectionné comprenant en outre une ressource permettant de satisfaire le paramètre obtenu.
Le procédé de sélection est nouveau et inventif puisqu’il permet de pouvoir dynamiquement utiliser une application, comprenant au moins un processus ou exécutée à partir de l’au moins un processus, sur un ou plusieurs dispositifs sélectionné(s) identifié comme un dispositif d’hébergement. Cela permet à un client d’utiliser l’application, telle qu’un service de données (audio, vidéo, texte...), garantissant le respect de contraintes associées à cette application. Notamment, en garantissant que le ou les dispositifs) sélectionné(s) respecte au moins un paramètre et d’autre part que le dispositif se situe une distance maximale requise par rapport à l’entité cliente, la sélection d’un dispositif adéquat permet de garantir une expérience client satisfaisante pour le client ayant requis l’utilisation de l’application et d’autre part une économie d’utilisation de ressources de l’infrastructure. Le procédé s’avère particulièrement pertinent pour les applications ou services requérant une faible latence où la position du dispositif, à proximité de l’entité cliente, et la caractéristique ou paramètre du service, par exemple de QoS, permettent de satisfaire une exigence de latence propre au service requis. Le procédé est notamment pertinent car il permet de déployer une application en sélectionnant un dispositif pour chacun des processus requis pour instancier l’application, chaque processus pouvant avoir des paramètres distincts et pouvant être hébergé plus ou moins loin par rapport à une entité cliente. Ainsi certains processus d’une application pourront être installés à proximité d’une entité cliente (par exemple dans une architecture MEC (en anglais Mobile Edge Computing) alors que d’autres processus de l’application pourront être installés en cœur de réseau de l’infrastructure. Un dispositif de l’infrastructure peut correspondre indépendamment à un dispositif physique (serveur, équipement réseau) ou à une machine virtuelle. L’entité cliente a une signification assez large puisqu’il peut s’agir d’un terminal client (PC, smartphone, box...) mais la requête d’utilisation peut également être obtenue en provenance d’une entité d’administration de l’infrastructure, par exemple pour instancier une application réseau aussi appelé service réseau, dans l’infrastructure. A titre d’exemple, il peut s’agir d’instancier un nouveau protocole de routage dans une infrastructure réseau ou bien encore une fonction d’optimisation de service d’accès web.
Selon un aspect de l’invention, le procédé comprend en outre une instanciation de l’au moins un processus sur le dispositif sélectionné.
Dans le cas où par exemple un processus de l’application (ou l’ensemble des processus de l’application) n’est pas déployé sur un dispositif permettant de satisfaire les paramètres obtenus et/ou que le dispositif hébergeant l’application n’est pas suffisamment proche de l’entité cliente, ou que le processus n’est pas encore déployé dans l’infrastructure, l’entité de gestion peut avantageusement instancier, directement ou par l’intermédiaire d’une autre entité de l’infrastructure, le processus sur un dispositif de façon à répondre aux exigences (paramètres, localisation) requises. Le procédé permet en outre de pouvoir ajuster au mieux l’utilisation des ressources de l’infrastructure en déployant des applications à la demande et en limitant ainsi l’utilisation des ressources des dispositifs de l’infrastructure.
Selon une caractéristique particulière de ce mode de réalisation, le procédé de sélection comprend en outre une émission à destination de l’entité cliente d’une consigne de mise en attente de l’entité cliente correspondant au délai d’instanciation de l’au moins un processus sur le dispositif sélectionné.
Lorsqu’une instanciation d’un processus ou d’une application sur un dispositif sélectionné est requise, le terminal ou l’entité cliente ayant demandé l’utilisation de l’application ou du processus est mis en attente pour que l’entité cliente ne cherche pas à utiliser l’application mise à jour avec le processus ou l’application à instancier alors qu’elle n’est pas encore disponible, et que l’entité cliente se retrouve en échec. Cette mise en attente permet ainsi d’améliorer la qualité d’expérience pour l’entité cliente. Au moins une entité ou dispositif de l’infrastructure comprend ainsi un composant matériel ou logiciel permettant de pouvoir mettre en attente une entité cliente avant l’ instanciation effective de l’application ou du processus sur un dispositif d’hébergement.
Selon un autre aspect de l'invention, dans le procédé de sélection, le paramètre associé à l’au moins un processus appartient au groupe comprenant:
- une donnée relative à une ressource requise pour la mémorisation de l’au moins un processus dans le dispositif,
- une donnée relative à une capacité de traitement requise pour le fonctionnement de l’au moins un processus,
- une donnée représentative de la latence maximale admise entre le dispositif à sélectionner et l’entité cliente,
- une donnée de qualité de service relative à l’au moins un processus.
Le procédé de sélection peut avantageusement être mis en œuvre en prenant en compte un ou plusieurs paramètres. Notamment des paramètres de capacité du dispositif, en termes de CPU (en anglais Central Processing Unit) et/ou GPU (en anglais Graphics Processing Unit) peuvent être pris en compte pour quantifier les ressources requises pour le dispositif ou les dispositifs à sélectionner. Des paramètres relatifs au processus, notamment en lien avec la latence et la qualité de service (délai de transit, bande passante, respect de données de protocole) peuvent être pris en considération pour la sélection du dispositif.
Selon un autre aspect de l'invention, le procédé de sélection comprend en outre une émission à destination de l’entité cliente d’une donnée d’identification du dispositif sélectionné.
Une fois que le dispositif est sélectionné, et possiblement qu’un processus a été instancié sur le dispositif sélectionné, l’entité de gestion transmet à l’entité cliente ayant émis la requête d’utilisation une donnée d’identification du dispositif sélectionné, telle qu’une information DNS (en anglais Domain Name System), une information de type URI (en anglais Uniform Resource Identifier), permettant à l’entité cliente par exemple de pouvoir directement joindre ce dispositif et donc le processus voire l’application.
Selon un autre aspect de l'invention, dans le procédé de sélection, l’entité de gestion de la topologie de l’infrastructure utilise un graphe orienté pondéré comprenant la pluralité de dispositifs de l’infrastructure pour sélectionner le dispositif parmi la pluralité.
L’entité de gestion peut avantageusement utiliser un graphe orienté pondéré pour avoir une connaissance améliorée de l’éloignement d’un dispositif par rapport à l’entité cliente et ainsi considérer une distance, non seulement par rapport à un éloignement géographique et/ou topologique, mais aussi par rapport à des capacités de liens entre dispositifs et/ou de capacités de traitement de dispositifs.
Selon une caractéristique particulière de ce mode de réalisation, dans le procédé de sélection, la sélection du dispositif parmi la pluralité comprend :
- une détermination d’un ensemble de dispositifs parmi la pluralité comprenant des dispositifs dont la distance par rapport à l’entité cliente est inférieure à une valeur de référence calculée à partir de la donnée de localisation, et
- une sélection du dispositif parmi l’ensemble de dispositifs déterminé, ledit dispositif comprenant des ressources aptes à satisfaire le paramètre.
Le procédé peut comprendre une étape de sélection d’un ensemble de dispositifs parmi la pluralité, cet ensemble se trouvant à une distance maximale requise par rapport à l’entité cliente, cette distance maximale étant déterminée par rapport à une valeur de référence déterminée par exemple par l’opérateur de l’infrastructure et permettant de garantir un niveau de qualité de service et/ou un nombre de sauts maximal pour le dispositif à sélectionner pour le ou les processus de l’application. Cette sélection d’un dispositif en deux étapes permet dans un premier temps de ne considérer que les dispositifs éligibles et ensuite d’analyser les ressources matérielles et logicielles (mémoire, CPU, capacité de traitement...) de ces seuls dispositifs éligibles sachant que les dispositifs non éligibles, même s’ils disposaient de ressources suffisantes, ne pourraient être sélectionnés en raison de leur éloignement par rapport à l’entité cliente. Selon une caractéristique particulière de ce mode de réalisation, dans le procédé de sélection, la valeur de référence correspond à un nombre de sauts entre un dispositif à sélectionner et l’entité cliente, et/ou à une distance géographique entre le dispositif à sélectionner et l’entité cliente, et/ou à une distance entre le dispositif à sélectionner et l’entité cliente prenant en compte une pondération d’au moins un lien et/ou d’au moins une fonction de l’infrastructure positionnée entre l’entité cliente et le dispositif à sélectionner dans le graphe pondéré.
Une valeur de référence représentant la distance entre l’entité cliente et le dispositif à sélectionner, peut être représentée par une diversité de paramètres utilisés individuellement ou en combinaison. Ainsi, un nombre de sauts entre l’entité cliente et le dispositif à sélectionner, correspondant par exemple à un nombre de fonctions illustre la topologie de l’infrastructure. Une distance géographique peut être pertinente si par exemple l’infrastructure est centralisée et le nombre de sauts renseigne peu sur la distance. La prise en compte de la pondération permet d’avoir une information améliorée de la « distance » puisqu’un lien ou une fonction de l’infrastructure (équipement d’acheminement possiblement virtualisé, routeur, switch...) ayant de meilleures capacités peut être plus adapté qu’un dispositif plus proche d’un point de vue topologique mais dont les capacités plus faibles s’avèrent moins avantageuses pour garantir un niveau de qualité de service pour le processus et donc pour l’entité cliente par exemple.
Selon une caractéristique particulière de ce mode de réalisation, dans le procédé de sélection, le procédé comprend au moins une incrémentation de la valeur de référence jusqu’à une valeur de référence maximale dans le cas où aucun dispositif n’est sélectionné et pour chaque incrémentation, une étape de détermination et une étape de sélection, selon le mode de réalisation décrit ci-dessus.
Dans le cas où aucun dispositif ne se trouve suffisamment proche de l’entité cliente, considérant les différents types de valeurs de référence possibles, la valeur de référence peut être augmentée de façon incrémentale jusqu’à une valeur maximale, ne permettant plus de garantir une qualité d’expérience suffisamment satisfaisante pour le processus et l’entité cliente ou dépassant une limite autorisée de déploiement de l’application dans l’infrastructure. Si la valeur maximale est atteinte, le processus ne pourra ainsi pas être utilisé et/ou instancié sur un quelconque dispositif de l’infrastructure.
Selon un aspect de l’invention, selon le procédé de sélection, un unique dispositif est sélectionné pour un ensemble de processus requis pour l’instanciation de l’application, le paramètre obtenu étant relatif à l’ensemble des processus.
Dans le cas où plusieurs processus d’une application, voire l’ensemble des processus d’une application, doivent être déployés sur un seul dispositif, par exemple pour garantir une meilleure interaction entre les processus, ou pour garantir une facilité de gestion des applications, ou bien encore pour limiter les complexités d’identification voire de résolution des problèmes de mise en œuvre d’une application, un seul dispositif de l’infrastructure peut être avantageusement sélectionné. La sélection peut alors s’appuyer sur une obtention d’un paramètre relatif à l’application ou à l’ensemble des processus concernés pour déterminer le dispositif adapté.
Les différents aspects du procédé de sélection qui viennent d'être décrits peuvent être mis en œuvre indépendamment les uns des autres ou en combinaison les uns avec les autres. L’invention concerne également un dispositif de sélection d’un dispositif adapté pour héberger au moins un processus d’une application parmi une pluralité de dispositifs d’une infrastructure de communication, l’application étant instanciée à partir de l’au moins un processus, caractérisé en ce que le dispositif est configuré pour mettre en œuvre :
- une réception en provenance d’une entité cliente d’une requête d’utilisation de l’application,
- une obtention d’un paramètre associé à l’au moins un processus et d’une donnée de localisation de l’entité cliente,
- une sélection du dispositif parmi la pluralité, dont la position dans l’infrastructure est à une distance requise par rapport à la donnée de localisation de l’entité cliente obtenue, le dispositif sélectionné comprenant en outre une ressource permettant de satisfaire le paramètre obtenu.
Ce dispositif de sélection est apte à mettre en œuvre dans tous ses modes de réalisation le procédé de sélection qui vient d'être décrit.
L’invention concerne également un système de sélection d’au moins un dispositif adapté pour héberger au moins un processus d’une application parmi une pluralité de dispositifs d’une infrastructure de communication, l’application étant instanciée à partir de l’au moins un processus, caractérisé en ce que le système comprend un dispositif de sélection, tel que décrit ci-dessus, et une entité cliente adaptée pour émettre à destination du dispositif de sélection la requête d’utilisation de l’application.
L'invention concerne aussi un programme d'ordinateur comprenant des instructions pour la mise en œuvre des étapes du procédé de sélection qui vient d'être décrit, lorsque ce programme est exécuté par un processeur et un support d’enregistrement lisible par un dispositif de sélection sur lequel est enregistré le programme d’ordinateur.
Le programme mentionné ci-dessus peut utiliser n’importe quel langage de programmation, et être sous la forme de code source, code objet, ou de code intermédiaire entre code source et code objet, tel que dans une forme partiellement compilée, ou dans n’importe quelle autre forme souhaitable.
Les supports d'informations mentionnés ci-dessus peuvent être n'importe quelle entité ou dispositif capable de stocker le programme. Par exemple, un support peut comporter un moyen de stockage, tel qu'une ROM, par exemple un CD ROM ou une ROM de circuit microélectronique, ou encore un moyen d'enregistrement magnétique.
Un tel moyen de stockage peut par exemple être un disque dur, une mémoire flash, etc. D'autre part, un support d'informations peut être un support transmissible tel qu'un signal électrique ou optique, qui peut être acheminé via un câble électrique ou optique, par radio ou par d'autres moyens. Un programme selon l'invention peut être en particulier téléchargé sur un réseau de type Internet.
Alternativement, un support d'informations peut être un circuit intégré dans lequel un programme est incorporé, le circuit étant adapté pour exécuter ou pour être utilisé dans l'exécution du procédé en question.
4. Brève description des dessins
D’autres caractéristiques et avantages de l’invention apparaîtront plus clairement à la lecture de la description suivante de modes de réalisation particuliers, donnés à titre de simples exemples illustratifs et non limitatifs, et des dessins annexés, parmi lesquels :
La [Fig 1] présente une infrastructure de réseau dans laquelle le procédé de sélection est mis en œuvre selon un aspect de l’invention,
La [Fig 2] décrit une mise en œuvre du procédé de sélection, selon un mode de réalisation de l’invention,
La [Fig 3] décrit une mise en œuvre du procédé de sélection, selon un autre mode de réalisation de l’invention,
La [Fig 4] décrit un dispositif de sélection, selon un mode de réalisation de l’invention.
5. Description des modes de réalisation
Dans la suite de la description, on présente des modes de réalisation de l'invention dans une infrastructure de communication. Les terminologies « infrastructure de communication » ou « réseau de communication » peuvent être indifféremment utilisées dans les modes de réalisation de l’invention. Cette infrastructure de communication peut être mise en œuvre pour acheminer des données de communication à destination de terminaux fixes ou mobiles et l’infrastructure peut être mise en œuvre à partir d’équipements physiques et/ou des fonctions virtualisées. Cette infrastructure peut être utilisée pour l’acheminement et/ou le traitement de données de clientèle résidentielle ou d’entreprises, d’utilisateurs fixes et mobiles, et peut être opérée par un opérateur de télécommunications .
On se réfère tout d’abord à la [Fig 1] qui présente une infrastructure de communication dans laquelle le procédé de sélection est mis en œuvre selon un aspect de l’invention.
Dans une infrastructure 200 de communication, une entité 110 de gestion de la topologie de l’infrastructure 200 gère les différentes ressources 102, 103, 104, VM1, VM2, VM3, VM4, VM5 de l’infrastructure 200. Cette entité 110 de gestion, aussi appelée Topology Server, maintient ainsi une base de données comprenant des informations sur les différentes dispositifs ou ressources 102, 103, 104, VM1, VM2, VM3, VM4, VM5 et sur les applications et processus Procl, Proc2, Proc3 et Proc4instanciés et instanciables sur ces dispositifs. Un dispositif, selon l’invention peut être un équipement physique 102, 103, 104 ou bien un instance virtuelle telle qu’une machine virtuelle VM1, VM2, VM3, VM4 et VM5 voire un conteneur, selon un autre exemple. La machine virtuelle VM1 correspond ainsi à la machine virtuelle VM1 sur l’équipement physique 102. Un processus est considéré comme instanciable sur un dispositif si ses dépendances sont installées, si les images de conteneurs des composants comprenant un ou plusieurs processus sont disponibles sur le dispositif, si le dispositif est autorisé, par exemple par le gestionnaire de l’infrastructure ou le gestionnaire de la ressource, à héberger ce processus. L’entité 110 de gestion comprend un dispositif 100 de sélection (Sel) exécutant les opérations de sélection en vue d’identifier un dispositif de l’infrastructure 200 hébergeant d’ores et déjà un processus requis ou bien pour identifier un dispositif sur lequel sera instancié un processus requis par une entité 10 cliente (Clt). Cette sélection peut être effectuée à l’aide d’un graphe orienté pondéré comprenant l’ensemble des dispositifs 102, 103, 104, VM1, VM2, VM3, VM4, VM5 de l’infrastructure 200 pour sélectionner le dispositif apte à héberger le processus conformément à la requête d’utilisation reçue de l’entité cliente 10. L’entité 10 cliente peut être un terminal utilisateur tel qu’un smartphone, un PC, une passerelle résidentielle ou tout autre dispositif qu’un utilisateur peut exploiter pour exécuter ou utiliser une application. L’entité cliente Clt peut également être une entité d’administration de l’infrastructure de communication, en charge par exemple de déployer des services réseau à la demande, donc de façon dynamique. L’application peut être une application à valeur ajoutée, telle qu’un service voix, vidéo et/ou de données par exemple avec un serveur ou un terminal non représenté sur la [Fig 1], Une application peut être instanciée à partir d’un ou plusieurs processus, un processus étant caractérisé par une suite ordonnée d’opérations aboutissant à un résultat. Ainsi, selon la [Fig 1], l’application requise par l’entité cliente 10 auprès de l’entité 110 de gestion comprend quatre processus Procl, Proc2, Proc3 et Proc4, ces processus pouvant être des processus relatifs à des opérations réseau et/ou des opérations de type applicatifs. Selon un exemple, il peut s’agir d’une opération de découverte d’un serveur, de connexion à un serveur, de réception d’un flux applicatif, d’un traitement de flux applicatif. Chaque processus Procl, Proc2, Proc3 et Proc4 de l’application est caractérisé par un ensemble de paramètres. Selon une liste non exhaustive de ces paramètres, un paramètre peut être
- une donnée relative aux ressources requises pour la mémorisation de l’au moins un processus dans le dispositif 102, 103, 104, VM1, VM2, VM3, VM4, VM5, cette donnée pouvant correspondre par exemple à un nombre d’octets dans la ressource,
- une donnée relative aux capacités de traitement requises pour le fonctionnement de l’au moins un processus Procl, Proc2, Proc3 et Proc4, cette donnée pouvant être illustrée par une capacité CPU (en anglais Central Processing Unit) ou GPU de la ressource
- une donnée représentative de la latence maximale admise entre le dispositif à déterminer et l’entité cliente, cette donnée pouvant être représentée par exemple par un nombre de millisecondes pour un paquet acheminé entre l’entité cliente et le dispositif, cette donnée pouvant correspondre au résultat d’outil réseau de type Ping ou Traceroute,
- une donnée de qualité de service relative au processus Procl, Proc2, Proc3 et Proc4 pour lequel un dispositif 102, 103, 104, VM1, VM2, VM3, VM4, VM5 est sélectionné, cette donnée pouvant être représentée par un niveau de qualité de service (standard, silver, gold) ou par des garanties d’acheminement d’un flux de données d’une application type. Chaque application comprend donc un ou plusieurs processus, tels que les processus Procl, Proc2, Proc3 et Proc4, chaque processus étant caractérisé par un certain nombre de contraintes ou paramètres, tels que quantité de ressources CPU/mémoire minimale, utilisation d'un GPU (en anglais Graphics Processing Unit), latence maximale admise entre l’application instanciée et l'utilisateur afin notamment de garantir une qualité d’expérience optimale à l’utilisateur de l’entité 10 cliente. L’entité 110 de gestion utilise ces paramètres ou contraintes ainsi que la localisation de l’entité cliente pour déterminer le dispositif le plus adéquat pour l’utilisation de l’application par l’entité cliente. Ainsi dans le cas où un processus est déjà instancié dans l’infrastructure 200, l’entité 110 de gestion doit déterminer si la localisation de ce dispositif est adaptée à l’exécution de l’application par l’entité cliente ayant transmis la requête et si d’autre part le procédé est mis en œuvre conformément aux paramètres identifiés. Selon une alternative, les paramètres peuvent en effet être liés aux différents processus Procl, Proc2, Proc3 et Proc4 de l’application mais également au type d’entité cliente 10, sachant par exemple que les paramètres en termes de qualité de service diffèrent selon par exemple que l’entité cliente est un terminal adapté à une qualité très haut débit ou non par exemple. Selon un exemple, l’entité cliente 10 peut être une station d’administration de l’infrastructure 200 de communication et le procédé de sélection est mis en œuvre pour sélectionner et possiblement instancier un service réseau de type accès, routage, translation d’adresses, conversion de protocoles dans l’infrastructure 200 de communication.
On se réfère ensuite à la [Fig 2] qui décrit une mise en œuvre du procédé de sélection, selon un mode de réalisation de l’invention.
Les entités représentées dans cette [Fig 2] ont les mêmes caractéristiques que les entités ayant le même nom dans la [Fig 1].
Lors d’une étape El, l’entité cliente Clt émet à destination de l’entité de gestion de la topologie d’une infrastructure de communication comprenant un dispositif Sel de sélection une requête Req d’utilisation d’une application. La requête peut par exemple comprendre une requête FQDN (en anglais Fully Qualified Domain Name) pour obtenir l’usage d’une application. L’entité cliente Clt aura au préalable été authentifiée, notamment pour vérifier qu’elle peut effectivement utiliser l’application demandée et elle aura également obtenu l’adresse de l’entité de gestion, par exemple lors de sa connexion à une infrastructure de communication ou par configuration statique, par exemple dans le cas où l’entité cliente est une plateforme d’administration de l’infrastructure. La requête d’utilisation peut être transmise directement ou indirectement, par exemple par l’intermédiaire d’une plateforme de gestion des applications, à l’entité de gestion et donc au dispositif de sélection compris dans l’entité de gestion. Le dispositif de sélection Sel ayant reçu cette requête, détermine et sélectionne le (ou les) dispositifs) hébergeant ou apte à héberger l’application ou un processus de l’application.
Dans une étape facultative, le dispositif de sélection Sel identifie les processus relatifs à l’application. Cette étape peut être effectuée à partir d’une base de données détenue ou non par le dispositif de sélection Sel ou bien elle peut être effectuée par la plateforme de services dans le cas où la requête d’utilisation de l’entité cliente est acheminée via cette plateforme. Dans ce cas, la plateforme transmettra la requête et les processus associés à l’application requise. Selon un autre exemple, l’entité cliente transmet la requête d’utilisation comprenant des identifiants de processus associés à l’application requise. Selon un autre exemple, l’application comprend un seul processus et cette identification n’est pas nécessaire. Le processus est représenté par l’application requise par l’entité cliente. Il est considéré dans cet exemple que l’application dont l’utilisation est requise comprend quatre processus Procl, Proc2, Proc3 et Proc4.
Lors d’une étape E2, le dispositif de sélection Sel obtient un ou plusieurs paramètres associés à chaque processus identifié lors de l’étape précédente ou bien à l’application, dans le cas par exemple ou l’application est mono-processus. Cette obtention peut être effectuée par le biais d’une base de données interne à l’entité de gestion de la topologie permettant de caractériser un processus par un ou plusieurs paramètres tels que ceux décrits dans la [Fig 1], Cette obtention peut également être effectuée par l’intermédiaire d’une autre entité apte à identifier les paramètres associés à un processus. Selon cet exemple, le dispositif de sélection émettra une requête comprenant un identifiant du processus à une entité gérant les processus et recevra en retour les paramètres qui sont associés au processus. Selon un exemple, la plateforme de services indiquée dans la description de l’étape El ci-dessus peut également transmettre les paramètres associés aux processus. Selon le mode de réalisation de la [Fig 2], en lien avec la [Fig 1], les paramètres Pari et Par2 sont obtenus pour le processus Procl, le paramètre Par3 pour le processus Proc2, les paramètres Par3 et Par4 pour le processus Proc3 et les paramètres Pari et Par4 pour le processus Proc4.
Lors d’une étape E3, le dispositif de sélection Sel sélectionne un ou plusieurs dispositifs de l’infrastructure de communication, ce ou ces dispositifs devant être positionnés en fonction d’une distance requise entre le dispositif sélectionné et l’entité cliente Clt. Le ou les dispositifs sélectionnés doivent en outre comprendre des ressources permettant de satisfaire les paramètres obtenus précédemment et correspondant à chaque processus. Le dispositif de sélection doit sélectionner un dispositif pour chaque processus Procl, Proc2, Proc3 et Proc4, les dispositifs sélectionnés pour chaque processus pouvant être distincts ou non. Le dispositif sélectionné pour le processus Procl doit comprendre des ressources aptes à satisfaire les paramètres Pari et Par2, le dispositif sélectionné pour le processus Proc2 doit comprendre des ressources aptes à satisfaire le paramètre Par3, le dispositif sélectionné pour le processus Proc3 doit comprendre des ressources aptes à satisfaire les paramètres Par3 et Par4, le dispositif sélectionné pour le processus Proc4 doit comprendre des ressources aptes à satisfaire les paramètres Pari et Par4. Pour effectuer cette sélection des dispositifs d’hébergement, le dispositif de sélection Sel utilise la localisation de l’entité cliente, cette localisation pouvant être topologique et/ou bien géographique. L’information sur la localisation de l’entité cliente, qui peut être une adresse IP et/ou une coordonnée GPS ou tout autre donnée informant sur la localisation de l’entité cliente est par exemple transmise lors de l’envoi de la requête d’utilisation transmise par l’entité cliente Clt ou bien elle peut être obtenue par le dispositif de sélection dans un paramètre de connexion de l’entité client à l’infrastructure de communication. Cette donnée de localisation de l’entité cliente est prise en compte par le dispositif de sélection pour déployer par exemple des applications dans des architectures de type MEC (en anglais Mobile Edge Computing) et/ou pour assurer une répartition équilibrée des processus utilisés par les entités clientes dans les différents dispositifs de l’infrastructure. Le dispositif de sélection, en utilisant par exemple sa base de données sur les processus déployés dans les différents dispositifs et/ou sur les ressources disponibles sur les dispositifs pouvant accueillir un ou plusieurs processus, sélectionne un ou plusieurs dispositifs VM1, VM2 et VM5 associé à chaque processus et dont la distance par rapport à l’entité cliente Clt est par exemple inférieure à une valeur de référence, par exemple propre à un processus et/ou à l’infrastructure, déterminée par le dispositif de sélection.
Selon un exemple, cette étape E3 de sélection comprend plusieurs sous étapes. Les étapes suivantes sont effectuées pour la sélection d’un dispositif pour le processus Procl mais ces étapes sont identiques pour la sélection d’un dispositif pour les autres processus Proc2, Proc3 et Proc4, sachant que les différentes sélections pour les différents processus peuvent être effectuées de façon itérative ou en parallèle.
Lors d’une étape E31, le dispositif de sélection Sel détermine un ensemble de dispositifs parmi la pluralité, cet ensemble comprenant des dispositifs positionnés à une distance inférieure à une valeur de référence en fonction d’une donnée de localisation de l’entité cliente Clt. Cette valeur de référence représente par exemple un nombre de sauts dans l’infrastructure entre un dispositif d’hébergement de l’infrastructure potentiellement sélectionné et l’entité cliente, et/ou à une distance géographique entre le dispositif potentiellement sélectionné et l’entité cliente, et/ou à une distance entre le dispositif potentiellement sélectionné et l’entité cliente prenant en compte une pondération d’au moins un lien et/ou d’au moins une fonction (équipement, routeur, switch. . .) positionné entre l’entité cliente et le dispositif à sélectionner, par exemple à partir d’un graphe orienté pondéré tel que décrit ci-avant. Le nombre de sauts correspond par exemple à un nombre de fonctions assurant l’acheminement d’un paquet d’un processus entre l’entité cliente Clt et un dispositif potentiellement sélectionné.
Selon un exemple, l’ensemble de dispositifs déterminés comme valides par rapport à la valeur de référence comprend les dispositifs VM1, VM2, VM3, VM4 tels que présentés dans la [Fig 1]. Sachant que seule la donnée de localisation de l’entité cliente Clt est prise en compte pour la définition de cet ensemble, ces dispositifs de l’ensemble sont à priori sélectionnables pour les différents processus Procl, Proc2, Proc3 et Proc4.
Le dispositif de sélection Sel sélectionne ensuite lors d’une étape E32 parmi ces seuls dispositifs VM1, VM2, VM3, VM4 présélectionnés, le dispositif comprenant des ressources aptes à satisfaire les paramètres Pari et Par2 du Processus Procl. Le dispositif de sélection Sel détermine si un ou plusieurs dispositifs parmi les dispositifs VM1, VM2, VM3, VM4 héberge d’ores et déjà le processus conformément aux paramètres Pari et Par2. Si c’est le cas, le dispositif de sélection Sel le sélectionne. Si plus d’un dispositif héberge le processus, le dispositif de sélection Sel choisit un parmi ces dispositifs soit en fonction de la distance du dispositif à sélectionner avec l’entité cliente Clt ou par exemple en fonction des capacités de stockage ou de calcul du dispositif. Le dispositif de sélection Sel, selon cet exemple, sélectionne lors de l’étape E32 le dispositif ou la machine virtuelle VM1.
Lors d’une étape E4, selon une alternative, le dispositif de sélection Sel informe l’entité cliente Clt sur le dispositif VM1 sélectionné pour le processus Procl. Cette étape peut être réalisée immédiatement après l’étape E32 ou après la fin complète de l’étape E3. Selon une autre option, le dispositif de sélection transmet un message comprenant les différents dispositifs instanciant les différents processus Procl, Proc2, Proc3 et Proc4 une fois qu’un dispositif a effectivement été sélectionné pour chaque processus de l’application, évitant ainsi d’informer l’entité cliente Clt par un message associé à chaque processus, et n’informant l’entité cliente que lorsque l’application, et donc l’ensemble des processus requis pour l’instanciation de l’application, peut être effectivement instanciée dans l’infrastructure de communication.
Cette étape de sélection E32 est réitérée pour les autres processus Proc2, Proc3 et Proc4. Si, lors de l’étape E32, aucun dispositif n’héberge un processus requis, alors le dispositif de sélection Sel instancie le processus sur un dispositif disposant des ressources requises pour satisfaire les paramètres associés au processus. A titre d’exemple, le dispositif de sélection Sel n’identifie aucun dispositif parmi les dispositifs VM1, VM2, VM3, VM4 instanciant le processus Proc2 et détermine lors de l’étape E’32 que le dispositif VM2 dispose des ressources pour l’instanciation du processus Proc2. Lors d’une étape E5, le dispositif de sélection instancie le processus Proc2 sur le dispositif ou machine virtuelle VM2. Cette instanciation peut être effectuée directement par le dispositif de sélection Sel ou par l’intermédiaire d’une autre entité de l’infrastructure, telle qu’une entité de configuration des dispositifs. Selon une alternative, lors d’une étape E6, le dispositif de sélection Sel transmet à l’entité cliente Clt un message de mise en attente, pour lui indiquer que le processus est en cours d’ instanciation. Selon une autre alternative, le message de mise en attente est relatif à l’application demandée et le message est envoyé à l’entité cliente Clt lorsqu’un ou plusieurs des processus Procl, Proc2, Proc3, Proc4 de l’application doit être instancié sur un dispositif d’hébergement. Ainsi, selon cette alternative, l’entité cliente Clt reçoit un message de mise en attente directement lié à la requête d’utilisation transmise initialement. La mise en attente correspond par exemple à la transmission d’une information sur « une salle d’attente », correspondant à un composant installé sur un dispositif d’hébergement VM1, VM2, VM3, VM4 ou sur l’entité 110 de gestion voire sur un dispositif spécifique non représenté, qui redirige l’entité cliente vers le processus installé une fois que celui-ci a été effectivement installé. Dans le cas où le processus était déjà hébergé sur un dispositif, l’envoi de la consigne d’attente et l’utilisation de la salle d’attente sur le dispositif n’est pas requis sauf si le processus est en mode veille ou inopérant pendant une période. Dans le cas où le message d’attente est relatif à l’application requise, la salle d’attente est avantageusement mise en œuvre dans un des dispositifs accueillant un des processus, à titre d’exemple dans un dispositif comprenant un processus de gestion des ressources relatives à l’application. Ce dispositif, qu’il s’agisse d’un dispositif d’hébergement VM1, VM2, VM3, VM4, de l’entité 110 de gestion ou d’un dispositif spécifique affecté à ce rôle, devra ainsi être informé de l’instanciation effective de l’ensemble des processus requis pour l’instanciation de l’application, afin de rediriger l’entité client Clt, par exemple en mettant en œuvre une redirection http ou par l’utilisation d’un FQDN associé à l’application.
Les étapes E5 et E6 peuvent être effectuées directement après l’étape E’32 ou bien après la terminaison de l’étape E3 pour l’ensemble des processus Procl, Proc2, Proc3 et Proc4 comme cela est représenté sur la [Fig 2] .
Lors d’une étape E”32 de l’étape E3, visant à déterminer un dispositif instanciant ou à défaut, apte à instancier, le processus Proc3 conformément aux paramètres Par3 et Par4, le dispositif de sélection n’identifie pas un tel dispositif parmi les dispositifs VM1, VM2, VM3, VM4. Dans ce cas, la valeur de référence utilisée pour définir un ensemble de dispositifs aptes à héberger un processus de l’application est incrémentée lors d’une étape E”31. L’incrémentation peut consister à ajouter un ou plusieurs sauts et/ou à élargir la distance géographique par rapport à l’entité cliente Clt. Selon cet exemple, l’ensemble des dispositifs d’hébergement éligible comprend en plus le dispositif VM5 désormais éligible à héberger un des processus. Le dispositif de sélection Sel détermine lors d’une étape E” ’32 que le dispositif VM5 est apte à instancier le processus Proc3 conformément aux paramètres Par4 et Par5. Le dispositif de sélection Sel instancie le processus Proc3 sur la machine virtuelle VM5 lors d’une étape E7 et, selon une alternative, transmet une consigne de mise en attente à l’entité cliente Clt lors d’une étape E8. Dans le cas où aucun dispositif n’ instancie ou ne peut instancier le processus Proc3 après l’incrémentation, l’étape E”31 est réitérée jusqu’à ce que la valeur de référence atteigne un maximum. Dans ce cas, le processus ne pourrait être instancié sur un dispositif de l’infrastructure et l’application, dans le cas où ce processus est absolument nécessaire au fonctionnement de l’application, ne peut être installée dans l’infrastructure conformément aux exigences requises. Dans ce cas, le dispositif de sélection informe l’entité cliente Clt que l’application ne peut être utilisée par le client et que sa requête ne peut donc pas être satisfaite.
Lors d’une étape E””32, le dispositif de sélection détermine parmi les dispositifs éligibles, avant ou après l’incrémentation de la valeur de référence, que le dispositif VM1 instancie le processus Proc4 et le sélectionne. Le dispositif de sélection a la possibilité de considérer les seuls dispositifs VM1, VM2, VM3 et VM4 pour déterminer le dispositif apte à héberger le processus Proc4 ou bien il peut considérer en outre le dispositif VM5, selon qu’il effectue l’étape E” ”32 après l’étape E”31 comme sur la [Fig 2] ou bien avant cette étape E”31 selon une alternative non représentée. Le dispositif de sélection peut en effet sélectionner tous les processus possibles dans l’ensemble de dispositifs défini par la valeur de référence, ou bien considérer l’ensemble le plus vaste possible par rapport à la valeur de référence pour sélectionner un dispositif.
Selon une alternative, l’étape E3 ne comprend qu’une itération et le dispositif de sélection sélectionne les dispositifs pour les différents processus dans un ensemble de dispositifs définis par rapport à la localisation de l’entité cliente sans possibilité de modifier cet ensemble.
Dans le cas où tous les processus Procl, Proc2, Proc3 et Proc4 ont effectivement été instanciés par le dispositif de sélection Sel ou préalablement à la mise en œuvre du procédé de sélection, le dispositif de sélection Sel peut avantageusement informer lors d’une étape E9 l’entité cliente Clt sur la disponibilité de l’application dans sa complétude et possiblement informer l’entité cliente sur les dispositifs VM1, VM2 et VM5 mis à contribution pour l’instanciation des processus de l’application. Cette information est notamment pertinente dans le cas où l’entité cliente Clt est une entité d’administration de l’infrastructure où l’information sur l’hébergement des processus d’une application est très pertinente, notamment pour assurer les missions de gestion et d’identification d’incidents ou de dégradation de qualité de service.
On se réfère ensuite à la [Fig 3] qui décrit une mise en œuvre du procédé de sélection, selon un autre mode de réalisation de l’invention.
Dans ce mode de réalisation, un dispositif est sélectionné pour héberger une application, conformément à une requête d’utilisation de cette application d’une entité cliente. Dans ce mode de réalisation, l’application est mono-composant et le processus ou les processus de l’application sont hébergés sur un unique dispositif d’une infrastructure de communication. La [Fig 3] présente les étapes mise en œuvre par un dispositif de sélection d’une entité de gestion de l’infrastructure de communication.
Lors des étapes El et E2, le dispositif reçoit une requête d’utilisation d’une application en provenance d’une entité cliente et obtient un ensemble de paramètres relatifs à cette application, conformément aux étapes El et E2 décrites dans la [Fig 2].
Le dispositif de sélection, par exemple à partir d’un graphe orienté pondéré ou à partir d’une base de données comprenant les différents dispositifs, détermine lors d’une étape E3 la un ensemble de dispositifs dont la distance par rapport à l’entité cliente est inférieure à une distance N.
Lors d’une étape E32a, le dispositif de sélection évalue si un dispositif parmi les dispositifs déterminés lors de l’étape E31a dispose des ressources suffisantes et a d’ores et déjà instancié l’application requise par l’entité cliente, conformément aux paramètres obtenus lors de l’étape E2.
Dans le cas où c’est le cas, c’est-à-dire qu’un dispositif a été identifié lors de l’étape E32a, le dispositif en informe l’entité cliente lors d’une étape E9. Si aucun dispositif ne l’a instancié, le dispositif de sélection évalue lors d’une étape E32b si un dispositif sélectionné lors de l’étape E31a dispose des ressources nécessaires pour le processus ou les processus de l’application requise, et consécutivement l’application elle-même. Si un dispositif est effectivement apte à cet hébergement, il est sélectionné, et un identifiant (adresse IP, URI, identifiant FQDN) est transmis à l’entité cliente lors d’une étape E9. En outre, l’application est effectivement instanciée sur le dispositif sélectionné lors d’une étape E5.
Dans le cas où aucun dispositif n’est sélectionné lors de l’étape E32b, le dispositif détermine lors d’une étape E31b si la valeur N est égale ou supérieure à une valeur NMax de référence, représentative d’une distance maximale acceptable pour un dispositif devant héberger l’application requise. Si la valeur est égale ou supérieure à cette valeur N, un message d’erreur est retourné à l’entité cliente lors d’une étape E10 indiquant que l’entité cliente ne peut utiliser l’application ou ne peut installer l’application, selon l’entité cliente considérée.
Dans le cas où la valeur N est inférieure à la valeur NMax, la valeur N est incrémentée lors d’une étape E3 le, cette incrémentation pouvant correspondre à une augmentation du nombre de sauts et/ou à un rayon plus grand du domaine dans lequel un dispositif est sélectionné. Une fois la valeur N incrémentée, l’étape E3 la est de nouveau effectuée. Les étapes E31a, E31b et E31 c sont des sous-étapes de l’étape E31 décrite dans la [Fig 2] et les étapes E32a et E32b sont des sous étapes de l’étape E32 décrite dans la [Fig 2].
On se réfère ensuite à la [Fig 4] qui présente un dispositif 100 de sélection selon un mode de réalisation de l'invention.
Un tel dispositif de sélection peut être mis en œuvre dans une entité de gestion, telle que l’entité d’administration d’un réseau de télécommunications, par exemple instancié à partir de fonctions virtualisées.
Par exemple, le dispositif 100 de sélection comprend une unité de traitement 130, équipée par exemple d'un microprocesseur pP, et pilotée par un programme d'ordinateur 110, stocké dans une mémoire 120 et mettant en œuvre le procédé de sélection, dans les différents modes de réalisation, selon l'invention. A l’initialisation, les instructions de code du programme d’ordinateur 190 sont par exemple chargées dans une mémoire RAM, avant d’être exécutées par le processeur de l’unité de traitement 130. Un tel dispositif 100 de sélection comprend un module 101 de réception, configuré pour recevoir en provenance d’une entité cliente une requête Req d’utilisation de l’application, un module 102 d’obtention, configuré pour obtenir un paramètre associé à l’au moins un processus et une donnée de localisation de l’entité cliente, un module 103 de sélection du dispositif parmi la pluralité, dont la position dans l’infrastructure est à une distance requise par rapport à la donnée de localisation de l’entité cliente obtenue, le dispositif sélectionné comprenant en outre une ressource permettant de satisfaire le paramètre obtenu. Avantageusement, le dispositif 100 de sélection comprend en outre un émetteur, adapté pour émettre à destination de l’entité cliente une consigne de mise en attente de l’entité cliente correspondant au délai d’ instantiation de l’au moins un processus sur le dispositif sélectionné. Avantageusement, l’émetteur est configuré pour émettre à destination de l’entité cliente d’une donnée d’identification du dispositif sélectionné.
Avantageusement, le dispositif 100 de sélection comprend un module de détermination, adapté pour déterminer un ensemble de dispositifs parmi la pluralité comprenant des dispositifs dont la distance par rapport à l’entité cliente est inférieure à une valeur de référence calculée à partir de la donnée de localisation, et un module de sélection, adapté pour sélectionner le dispositif parmi l’ensemble de dispositifs déterminé, ledit dispositif comprenant des ressources aptes à satisfaire le paramètre.
Le terme « module » peut correspondre aussi bien à un composant logiciel qu’à un composant matériel ou un ensemble de composants matériels et logiciels, un composant logiciel correspondant lui-même à un ou plusieurs programmes ou sous-programmes d’ordinateur ou de manière plus générale à tout élément d’un programme apte à mettre en œuvre une fonction ou un ensemble de fonctions.

Claims

REVENDICATIONS Procédé de sélection d’un dispositif adapté pour héberger au moins un processus (Procl, Proc2, Proc3, Proc4) d’une application parmi une pluralité de dispositifs (102, 103, 104, VM1, VM2, VM3, VM4, VM5) d’une infrastructure (200) de communication, l’application étant instanciée à partir de l’au moins un processus, le procédé étant mis en œuvre par une entité de gestion (110) de la topologie de l’infrastructure, adaptée pour gérer des ressources des dispositifs de la pluralité, et comprenant :
- une réception (El) en provenance d’une entité cliente (Clt) d’une requête d’utilisation de l’application,
- une obtention (E2) d’un paramètre associé à l’au moins un processus (Procl, Proc2, Proc3, Proc4) et d’une donnée de localisation de l’entité cliente,
- une sélection (E3) du dispositif (VM1, VM2, VM5) parmi la pluralité, dont la position dans l’infrastructure est à une distance requise par rapport à la donnée de localisation de l’entité cliente obtenue, le dispositif sélectionné comprenant en outre une ressource permettant de satisfaire le paramètre obtenu. Procédé de sélection, selon la revendication 1, comprenant en outre une instanciation (E4, E7) de l’au moins un processus sur le dispositif sélectionné. Procédé de sélection, selon la revendication 2, comprenant en outre une émission (E6, E8) à destination de l’entité cliente d’une consigne de mise en attente de l’entité cliente correspondant au délai d’ instanciation de l’au moins un processus sur le dispositif sélectionné. Procédé de sélection, selon l’une des revendications 1 à 3, où le paramètre associé à l’au moins un processus appartient au groupe comprenant:
- une donnée relative à une ressource requise pour la mémorisation de l’au moins un processus dans le dispositif,
- une donnée relative à une capacité de traitement requise pour le fonctionnement de l’au moins un processus,
- une donnée représentative de la latence maximale admise entre le dispositif à sélectionner et l’entité cliente,
- une donnée de qualité de service relative à l’au moins un processus. Procédé de sélection, selon l’une des revendication 1 à 4, comprenant en outre une émission à destination de l’entité cliente d’une donnée d’identification du dispositif sélectionné. Procédé de sélection, selon l’une des revendications 1 à 5, dans lequel l’entité de gestion de la topologie de l’infrastructure utilise un graphe orienté pondéré comprenant la pluralité de dispositifs de l’infrastructure pour sélectionner le dispositif parmi la pluralité. Procédé de sélection, selon la revendication 6, dans lequel la sélection du dispositif parmi la pluralité comprend :
- une détermination d’un ensemble de dispositifs parmi la pluralité comprenant des dispositifs dont la distance par rapport à l’entité cliente est inférieure à une valeur de référence calculée à partir de la donnée de localisation, et
- une sélection du dispositif parmi l’ensemble de dispositifs déterminé, ledit dispositif comprenant des ressources aptes à satisfaire le paramètre. Procédé de sélection, selon la revendication 7, dans lequel la valeur de référence correspond à un nombre de sauts entre un dispositif à sélectionner et l’entité cliente, et/ou à une distance géographique entre le dispositif à sélectionner et l’entité cliente, et/ou à une distance entre le dispositif à sélectionner et l’entité cliente prenant en compte une pondération d’au moins un lien et/ou d’au moins une fonction de l’infrastructure positionnée entre l’entité cliente et le dispositif à sélectionner dans le graphe pondéré. Procédé de sélection, selon la revendication 7 ou la revendication 8, comprenant au moins une incrémentation de la valeur de référence jusqu’à une valeur de référence maximale dans le cas où aucun dispositif n’est sélectionné et pour chaque incrémentation, une étape de détermination et une étape de sélection, selon la revendication 7. Procédé de sélection, selon l’une des revendications 1 à 9, dans lequel un unique dispositif est sélectionné pour un ensemble de processus requis pour l’instanciation de l’application, le paramètre obtenu étant relatif à l’ensemble des processus. Dispositif (100, Sel) de sélection d’un dispositif adapté pour héberger au moins un processus (Procl, Proc2, Proc3, Proc4) d’une application parmi une pluralité de dispositifs (102, 103, 104, VM1, VM2, VM3, VM4, VM5) d’une infrastructure (200) de communication, l’application étant instanciée à partir de l’au moins un processus, caractérisé en ce que le dispositif est configuré pour mettre en œuvre :
- une réception en provenance d’une entité cliente d’une requête Req d’utilisation de l’application,
- une obtention d’un paramètre associé à l’au moins un processus et d’une donnée de localisation de l’entité cliente,
- une sélection du dispositif parmi la pluralité, dont la position dans l’infrastructure est à une distance requise par rapport à la donnée de localisation de l’entité cliente obtenue, le dispositif sélectionné comprenant en outre une ressource permettant de satisfaire le paramètre obtenu. Système de sélection d’au moins un dispositif adapté pour héberger au moins un processus d’une application parmi une pluralité de dispositifs d’une infrastructure de communication, l’application étant instanciée à partir de l’au moins un processus, caractérisé en ce que le système comprend un dispositif de sélection selon la revendication 11 et une entité cliente adaptée pour émettre à destination du dispositif de sélection la requête d’utilisation de l’application. Produit programme d’ordinateur comprenant des instructions de code programme pour la mise en œuvre d’un procédé de sélection selon l’une quelconque des revendications 1 à 10, lorsqu’il est exécuté par un processeur. Support d’enregistrement non transitoire lisible par un ordinateur sur lequel est enregistré un programme pour la mise en œuvre du procédé selon l’une des revendications 1 à 10 lorsque ce programme est exécuté par un processeur.
PCT/EP2023/075726 2022-09-28 2023-09-19 Sélection d'un dispositif adapté pour héberger au moins un processus d'une application parmi une pluralité de dispositifs d'une infrastructure de communication, l'application étant instanciée à partir de l'au moins un processus WO2024068350A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FRFR2209826 2022-09-28
FR2209826A FR3140229A1 (fr) 2022-09-28 2022-09-28 Procédé, dispositif et système de sélection d’au moins un dispositif apte à héberger un processus d’une application

Publications (1)

Publication Number Publication Date
WO2024068350A1 true WO2024068350A1 (fr) 2024-04-04

Family

ID=84053041

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2023/075726 WO2024068350A1 (fr) 2022-09-28 2023-09-19 Sélection d'un dispositif adapté pour héberger au moins un processus d'une application parmi une pluralité de dispositifs d'une infrastructure de communication, l'application étant instanciée à partir de l'au moins un processus

Country Status (2)

Country Link
FR (1) FR3140229A1 (fr)
WO (1) WO2024068350A1 (fr)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210144517A1 (en) * 2019-04-30 2021-05-13 Intel Corporation Multi-entity resource, security, and service management in edge computing deployments
US11032164B1 (en) * 2019-05-30 2021-06-08 Cox Communications, Inc. Edge-based cloud application acceleration

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210144517A1 (en) * 2019-04-30 2021-05-13 Intel Corporation Multi-entity resource, security, and service management in edge computing deployments
US11032164B1 (en) * 2019-05-30 2021-06-08 Cox Communications, Inc. Edge-based cloud application acceleration

Also Published As

Publication number Publication date
FR3140229A1 (fr) 2024-03-29

Similar Documents

Publication Publication Date Title
EP3632087B1 (fr) Sélection d'une tranche de réseau relative à une application
EP2727414B1 (fr) D'obtention par un terminal d'une information relative à un acces à un service
EP3603024B1 (fr) Procédé de recommandation d'une pile de communication
EP3732829B1 (fr) Procédé d'acheminement de données d'une session initialisée entre un terminal et un serveur
EP3238378A1 (fr) Système de génération d'une fonction réseau virtualisée
EP3646196B1 (fr) Procédé et dispositif de téléchargement de contenu audiovisuel
EP3807760B1 (fr) Procédé d'installation d'une fonction réseau virtualisée
WO2024068350A1 (fr) Sélection d'un dispositif adapté pour héberger au moins un processus d'une application parmi une pluralité de dispositifs d'une infrastructure de communication, l'application étant instanciée à partir de l'au moins un processus
EP2446360B1 (fr) Technique de determination d'une chaine de fonctions elementaires associee a un service
EP3149918B1 (fr) Téléchargement de contenu et mise a disposition de réseaux
EP3931694A1 (fr) Procédé d'évaluation des dispositifs d'une infrastructure de réseau en vue du déploiement d'une fonction virtualisée
EP3871373B1 (fr) Procédé de gestion d'équipement en vue de mettre à jour un micrologiciel
WO2022034273A1 (fr) Procede de traitement d'un service de transport de donnees
EP2589202A1 (fr) Procede et systeme de gestion de sessions de communication
EP3149902B1 (fr) Technique d'obtention d'une politique de routage de requêtes émises par un module logiciel s'exécutant sur un dispositif client
WO2023135043A1 (fr) Procédé, dispositif et système de modification d'une infrastructure de communication
EP3649821B1 (fr) Partage de ressources radio pour des serveurs de contenu
WO2023138968A1 (fr) Procédé de mise à jour d'une politique d'accès à un premier réseau de télécommunication, système, équipements et programmes d'ordinateurs correspondants
EP4335144A1 (fr) Parametrage d'un terminal
FR3052620A1 (fr) Procede de gestion de l'acces a des contenus numeriques via une passerelle domestique
FR2831687A1 (fr) Procede et systeme de traitement d'un document numerique prealablement a son emission dans un reseau de communications

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

Country of ref document: EP

Kind code of ref document: A1