WO2020094815A1 - Method of dynamic representation of allocation of resources, device and computer program corresponding thereto. - Google Patents

Method of dynamic representation of allocation of resources, device and computer program corresponding thereto. Download PDF

Info

Publication number
WO2020094815A1
WO2020094815A1 PCT/EP2019/080614 EP2019080614W WO2020094815A1 WO 2020094815 A1 WO2020094815 A1 WO 2020094815A1 EP 2019080614 W EP2019080614 W EP 2019080614W WO 2020094815 A1 WO2020094815 A1 WO 2020094815A1
Authority
WO
WIPO (PCT)
Prior art keywords
resource
representation
resources
event
processing
Prior art date
Application number
PCT/EP2019/080614
Other languages
French (fr)
Inventor
Gilbert Cabillic
Original Assignee
Scaledynamics
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 Scaledynamics filed Critical Scaledynamics
Publication of WO2020094815A1 publication Critical patent/WO2020094815A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • G06F11/324Display of status information
    • G06F11/328Computer systems status display

Definitions

  • the invention relates to the integration of large amounts of computing resources.
  • the present technique relates more particularly to the integration of large sets of resources available for performing treatments. Even more specifically, the technique described offers the possibility of integrating, in a centralized manner, sets of computerized application processing resources in a simple and intuitive manner, while allowing an overview of the resources.
  • IT organizations operate computer networks that interconnect many IT resources to implement their operations, for example when IT resources are co-located (for example as part of a local network) or located in several separate geographic locations (for example connected via one or more private or public intermediary networks).
  • Data centers hosting a large number of interconnected IT resources have become commonplace.
  • private data centers operated by and on behalf of a single organization and public data centers operated by companies to provide IT resources to its customers.
  • Some public data center operators provide network access, power and secure facilities for equipment belonging to various customers, while other public data center operators offer "full service" facilities also material resources made available to their customers.
  • the tasks of provisioning, administering, and managing IT resources have become increasingly complex.
  • virtualization technologies can allow a single physical computer machine to be shared among multiple users by providing each user with one or more virtual machines hosted by the single physical computer machine.
  • Each virtual machine can be thought of as a software simulation acting as a separate logical computer system that gives users the illusion that they are the only operators and administrators of a given hardware IT resource, while ensuring the isolation and security of applications between different virtual systems.
  • some virtualization technologies are capable of providing virtual resources spanning at least two physical resources, such as a single virtual machine with multiple virtual processors spanning multiple distinct physical computing resources.
  • an integration method for processing event data is proposed, a method implemented by an electronic device connected to a communication network, said event data coming from at least one resource, said at least one resource being known. said electronic device and identified within a list of resources.
  • Such a method includes:
  • At least one iteration of a reception step coming from at least one IT resource, of a current resource event and / or of an event of a process executing on said resource;
  • At least one iteration of a step of processing the multidimensional representation of the resource set comprising an update of the representation of the resource and / or of the process as a function of the current event and of a previous state of the resource and / or process.
  • the invention makes it possible to simplify the display of events originating from resources, nodes and processes in progress and offering a multidimensional and visual representation of the activity of all the resources. For example when using a list to view the resources, it does not fit on the screen size when there are many resources. This is not the case with the invention since the representation is adapted to the quantity of resources to be displayed, either in terms of the size of the representation of a resource or in terms of zooming in / out of this of the resources within which an event has occurred.
  • the method further comprises at least one step of processing, from a user device, a command to display said multidimensional representation on said screen.
  • the step of displaying the initial multidimensional representation of said resource set comprises the display of a basic multidimensional structure, comprising a plurality of locations, each resource and / or process of the resource list being assigned to a given location among all the available locations.
  • the display step further comprises a step of grouping, on the basic multidimensional structure, processes belonging to the same resource.
  • the step of updating the representation of the resource and / or of the process as a function of the current event and of a previous state of the resource and / or of the process comprises a modification of the height of the representation of the resource and / or the process.
  • the invention makes it possible to represent the execution, on multiple resources, of an application or of a portion of application, for the infrastructure manager which allows him to visually realize the use of its resources and which allows it to avoid oversizing its infrastructure so that it can respond to the failures noted.
  • a step of transmitting information and / or a message from a first device to a second device corresponds at least partially , for this second device at a step of receiving the information and / or the transmitted message, whether this reception and this transmission is direct or whether it is carried out by means of other transport, gateway or intermediation, including the devices described herein according to the invention.
  • the invention also relates to an electronic device for processing event data capable of being connected to a communication network, said event data coming from at least one resource, said at least one resource being known by said device electronic and identified within a list of resources.
  • the device comprises means for displaying, on a screen connected to the electronic device, an initial multidimensional representation of a set of resources, said multidimensional representation comprising, for a given resource and / or a process, a display of a initial state ; means for receiving, from at least one computer resource, a current resource event and / or an event of a process executing on said resource;
  • means for processing the multidimensional representation of the resource set comprising an update of the representation of the resource and / or of the process as a function of the current event and of a previous state of the resource and / or of the process.
  • the invention also relates, according to a complementary aspect, to an execution system.
  • a system comprises at least one integration resource, of “master” type taking the form of an electronic execution device as described above and at least one execution resource accessible from the execution resource and suitable for transmit status information to it.
  • the different steps of the methods according to the invention are implemented by one or more software or computer programs, comprising software instructions intended to be executed by a data processor of an execution device according to the invention and being designed to control the execution of the different stages of the methods, implemented at the level of the communication terminal, of the electronic execution device and / or of the remote server, within the framework of a distribution of the treatments to perform and determined by scripted source code.
  • the invention also relates to programs, capable of being executed by a computer or by a data processor, these programs comprising instructions for controlling the execution of the steps of the methods as mentioned above.
  • a program can 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 a partially compiled form, or in any other desirable form.
  • the invention also relates to an information medium readable by a data processor, and comprising instructions of a program as mentioned above.
  • the information medium can be any entity or device capable of storing the program.
  • the support may include a storage means, such as a ROM, for example a CD ROM or a microelectronic circuit ROM, or else a magnetic recording means, for example a mobile support (memory card) or a hard drive or SSD.
  • the information medium can be a transmissible medium such as an electrical or optical signal, which can be routed via an electrical or optical cable, by radio or by other ways.
  • the program according to the invention can in particular be downloaded from a network of the Internet type.
  • the information medium can be an integrated circuit in which the program is incorporated, the circuit being adapted to execute or to be used in the execution of the process in question.
  • the invention is implemented by means of software and / or hardware components.
  • module can correspond in this document as well to a software component, as to a hardware component or to a set of hardware and software components.
  • a software component corresponds to one or more computer programs, one or more subroutines of a program, or more generally to any element of a program or software capable of implementing a function or a set of functions, as described below for the module concerned.
  • Such a software component is executed by a data processor of a physical entity (terminal, server, gateway, set-top-box, router, etc.) and is capable of accessing the hardware resources of this physical entity (memories, recording media, communication bus, electronic input / output cards, user interfaces, etc.).
  • a hardware component corresponds to any element of a hardware (or hardware) set capable of implementing a function or a set of functions, according to what is described below for the module concerned. It can be a programmable hardware component or with an integrated processor for the execution of software, for example an integrated circuit, a smart card, a memory card, an electronic card for the execution of firmware ( firmware), etc.
  • FIG. 1 describes a system in which the invention is implemented
  • FIG. 2 describes the steps for implementing the invention
  • FIG. 3 illustrates a first representation of a system according to the invention
  • FIG. 4 illustrates a second representation of a system according to the invention
  • FIG. 5 illustrates a third representation of a system according to the invention
  • FIG. 6 illustrates an architecture of a device capable of implementing a processing method of the invention.
  • the object of the invention is to provide a simple, efficient and intuitive management technique for physical or virtual IT resources. More particularly, the invention offers a solution for managing large sets of resources in a simple manner by proposing a graphical representation combined with a technique for modulating the representation as a function of the states of the computer resources.
  • IT resources are grouped in a cluster.
  • Each cluster includes a predetermined number of IT resources (either physical, virtual or both): a cluster can represent a calculation grid or a set of calculation grids.
  • the invention offers the possibility on the one hand of managing these clusters individually and easily and on the other hand of managing each of the IT resources of this cluster individually completely independently.
  • the invention offers the possibility of viewing events (anomaly / task in progress, load) in a simple manner without restricting the field of vision of the user, that is to say without limiting the vision that the user can have of the set of resources.
  • a method of integrating computer resources comprising the implementation of a data structure representative of a set of computer resources.
  • This data structure includes, for each IT resource, at least one state information and at least one membership cluster (node).
  • the data structure is sized to meet the display needs of the representation associated with all of the IT resources that are managed.
  • the data structure can include several thousand entries and be in the form of a table or even a database.
  • the data structure is created, fed and updated by an IT resource integration server.
  • an IT resource integration server is called "master”.
  • several “master” servers can transmit data to be displayed to a given display device.
  • the "master" has at least one hardware interface for accessing resources. This (at least one) hardware interface for accessing computer resources can be supplemented or overloaded with logical interfaces for accessing computer resources.
  • the computer resources accessed by master are of the physical computer resources and / or logical (virtual) computer resources type.
  • a physical computing resource can take the form of a server, a personal computer, a smartphone, a tablet or even a core of a multicore processor. More generally, a physical computer resource comprises a calculation unit that is physically addressable and capable of implementing computerized processing of an application (a program) or a part of an application (a part of a program).
  • a logical (virtual) computer resource can take the form of a virtual machine (reproducing as explained above the operation of a physical machine) executing on one or more physical computing resources or more generally of a program executing on a physical computer resource (for example a scripted code or bytecode interpreter).
  • an IT resource can, depending on the embodiments, be in charge of the implementation of one or more "threads” (also called “threads”).
  • process which executes part or all of an application by an IT resource (execution can also be called “job”).
  • master is able to obtain, from computer resources, the state of the threads that run within the computer resource.
  • FIG. 1 represents all of the possible computer resources as implemented in the invention.
  • the data structure representative of all of the computer resources includes the information illustrated in FIG. 1, either in tabular form (one row per record), or in the form of a tree.
  • the constitution of the data structure (SDAT) is adapted to the operational implementation conditions, in order to provide rapid access to the content of the data structure.
  • SDAT data structure
  • a database can be adapted to the integration of a very large number of IT resources, while an XML file or a flat file of the "json" type can be adapted to a lower number of IT resources. .
  • a cluster (a node) relates to at least one IT resource (physical or logical).
  • An IT resource implements one or more threads associated with the execution of part or all of an application.
  • An IT resource can relate to several clusters (nodes) at the same time.
  • a cluster comprises a plurality of resources and each resource implements one and only one thread at a given time (no concurrency of access to the resources).
  • the method of the invention comprises the following steps, implemented iteratively, to allow restitution of the data of the structure, by the "master” or by a terminal to which the "master" communicates display data:
  • At least one iteration (30) of a step for processing the multidimensional representation of the resource set comprising an update of the representation of the resource and / or of the process as a function of the current event and of a previous state of the resource and / or process.
  • updating the representation of the resource and / or of the thread (process) as a function of the current state comprises at least one step belonging to the following group:
  • the graphic representation is also modifiable for a user viewing this representation on the screen of the device connected to the master.
  • the modifications of representations linked to the manipulation carried out by or for the user include in particular: the selection of a node (cluster) among all of the available nodes; this action results in the display of a certain amount of information relating to the selected node, such as for example the identifier of the node, its type, the number of resources and / or thread of which the node is composed , the number of resources used and / or thread running, the processing load of the node (memory, CPU, etc.)
  • this action results in the display of a certain amount of information relating to the selected resource, such as for example the identifier of the resource, its type, the number of threads associated with this resource, the number of running thread, resource processing load (memory, CPU, etc.)
  • this action results in the display of a certain amount of information relating to the selected thread, such as for example the identifier of the thread, its type, the processing load on the resource (memory, CPU, etc. ) the use of a zoom in or zoom out command of the representation; the consequence of this action is to cause, by the master or by a visualization application, a more or less extensive display (depending on the command used),
  • the modifications can be implemented automatically or manually (by the user himself.
  • the automatic character of the modification is privileged when an event of type "error" (blocking / abort / failure) occurs.
  • visualization application which manages the representation has a data structure representing the resources which are displayed (called display data structure) on the screen (and their position on the screen) and a data structure representing the all resources (these characteristics are specified below)
  • display data structure representing the resources which are displayed
  • the viewing application performs one or more of the actions mentioned above, on behalf of the user (i.e. in automated mode) in order to allow c it is easier to visualize the impacted resource.
  • nodes nodes
  • processes thread
  • manipulations can automatically be carried out depending on the occurrence of previously determined events (faults, modifications of 'condition, load changes, etc.).
  • the application implemented by the master and / or by the display terminal connected to the master performs an automatic movement to the resource, node or process in question to place the faulty element at the center of the user's vision, according to predetermined viewing parameters (in terms of zoom, size, color, etc.).
  • this displacement can be accompanied, according to the embodiments, by an automatic selection of this element in order to allow the display of its properties.
  • modifications to the appearance of the selected element can also be implemented to allow its faster identification by the user (the operator) and ultimately allow the user - to react more quickly when actions are required from him.
  • Changes in appearance may include any change in size, color, shape, or even the addition of an animation.
  • the objective is to allow the operator to quickly identify the element that deserves attention in order to exercise the necessary actions if possible.
  • the processing operations implemented by the master to modify the display according to the actions of the user allow the latter to check the operation and / or the execution of the nodes / resources / thread in operation during the execution of one or more applications in a simple and intuitive way.
  • the display produced by the invention makes it possible to quickly locate an operating anomaly while sizing the architecture optimally in relation to needs. More particularly, after an initialization phase, in which the representation of all the resources / nodes / thread is initially drawn (displayed), the modifications made to the representation are made by communicating, to the communication terminal (comprising by example a browser) by transmitting commands (and / or requests) which communicate event modifications (ie event and data relating to these events), linked to one or more resources / nodes / thread from the master to the communication terminal.
  • the communication terminal comprising by example a browser
  • Figures 3 to 5 show, for a given embodiment, the three-dimensional (three-dimensional) visual representation which changes over time (in the end, a four-dimensional representation (x, y, z, t)) is obtained, obtained for different states and different viewing angles.
  • a hexagonal representation is adopted for each thread.
  • the representations of the threads are positioned on a plane, which can have a predetermined size.
  • This plan constitutes the basic representation on which the other representations (thread, resources, nodes) are displayed and updated.
  • the different nodes and threads all have the same color. For reasons of ease of support and selection, it could be envisaged to give different colors to the threads of a given node, when selecting a thread for this node.
  • Figure 2 is a representation of two nodes, comprising between them fifty-eight threads (illustrated by the word flow on the screenshot), the whole being in an inactive state.
  • Each thread is represented by the same three-dimensional hexagon, of uniform height and color.
  • no job is running and the system state is inactive.
  • a set of "empty" hexagons ie a representation of all the threads that it would be possible to instantiate in the system.
  • a general state of the system is represented, comprising in particular the number of nodes, the number of threads, a general state of use of the resource and an indication of pressure exerted on the system (representing the number number of jobs pending).
  • the node identifier is listed at the top left (node id). Usage and load information is also present for this node.
  • the threads shown in red are those for which a failure occurs (it can be a hardware or software failure). Not being in execution, the height of the representation of these failing threads is lower than that of the threads in execution. A selection of a failing thread makes it possible to obtain information on the state of the thread (and therefore of the resource) and to determine or determine the origin of the failure encountered.
  • a resource manager for example an operator assigned to resource management
  • the data exchange format is in this case a JSON format suitable for these exchanges.
  • the master defines a “metrics” data structure. This structure is made up of “nodes” representing an IT resource. A “node” is represented by an identifier “id” and has a “load” representing the load of the resource, a “State” representing the state of the resource and another flow structure representing the different threads associated with this resource. Each “flow” has its identifier “Id” as well as a “State” representing its state (“run” or “wait” in this case).
  • metrics
  • the visualization application also called visualization interface which runs in the browser is able to produce an initial representation of the state of a cluster.
  • the “master” transmits via a “setMetrics” request, the initial state of the cluster.
  • "req. metrics ” includes the version of“ metrics ”to initialize.
  • the browser performs the call “new ClusterMetrics” which creates the initial “metrics” data structure and updates the initial visualization of the cluster on the interface.
  • the master transmits requests when the state of the cluster changes (for events occurring on the cluster).
  • the events transmitted to be represented can be "filtered", by an event processing component, as described below.
  • "Node” represents a resource
  • "Job” represents a thread. There is thus a function call to add a resource “AddNode”, or delete it “removeNode”, or update its charge state “setNodeLoad” or update its state (on / error / suspended, ...) update "setNodeState”.
  • the "addNode” request indicates the identifier associated with this resource ("nodeld"), as well as a “flows” structure which includes the identifiers (Ids) of each thread of the resource.
  • the master transmits "jobRun” requests to indicate that a job is executing or "jobDone” to indicate that the thread is waiting.
  • the visualization interface is updated by the browser and thus represents a real-time view of the state of a given cluster.
  • the advantage of such an implementation is to limit the exchange of data between the master and the browser: in fact, once the initialization has been carried out and the first representation displayed by the browser, the amount of data exchanged between the master and the browser is weak and is limited to the changes processed by the master and transmitted to the browser. This also ensures greater responsiveness of the browser.
  • the call to “addNode” or “removeNode” is made simultaneously when adding or removing a resource, just like “jobRun” or “jobDone” for a thread, as many "setNodeLoad” or “setNodeState” calls are updated at indefinite periods depending on the configuration and / or the master's treatments. For example if the master processes the load information of the processors of a computer every minute, the call “setNodeLoad” will be made only every minute at least. When the master processes its load information from the processors of a computer every second, it could make “setNodeLoad” requests every second.
  • the master itself has an event processing component which makes it possible to decide on the frequency of transmission of data to the browser in order on the one hand not to overload the latter and on the other hand to take into account the evolutions real and representative of charges or other events.
  • the event processing component can determine that an update less frequent than the second is sufficient to reflect the load of the processors and make a call to "setNodeLoad" only every 10 seconds in order to limit request traffic on the network.
  • the transmitted load value can then advantageously be an average of the values processed by the master.
  • the master (event processing component) is therefore responsible, according to a predetermined policy, for the frequency of these "setNodeLoad” or “setNodeState” requests (and in general for the frequency of events transmitted, as well as values associated with these events, which can therefore be representative of the situation of one or more events, without necessarily being exact).
  • This procedure ensures that the cluster representation can be displayed (and be executed) on communication terminals which do not necessarily have sufficient computing and / or processing power and / or bandwidth for intensive processing. This also makes it possible to eliminate irrelevant events, such as, for example, insignificant load decreases or increases and / or not to display divergent behaviors (that is to say unrelated to actual activity). switch (action required) ⁇
  • the browser allows you to produce a visualization of a cluster.
  • the latter can be built on top of a 3D interface which makes it possible to support the selection, the zoom and other manipulations of the different elements, as in Figures 3 to 5.
  • the display application generates, on reception, a display data structure, which for each node (“node”) comprises display coordinates of this node.
  • node When a node has no display coordinates, either it is not in the display structure or alternatively it has non-valued coordinates.
  • the display data structure can be updated according to the operations performed manually by the user.
  • This additional embodiment has the advantage of facilitating the visualization of the resources for which an event (for example an error) occurs.
  • the display data structure is created by the visualization application and includes at least one pair of display coordinates for each node (resource) displayed on the screen, as well as the identifier of this node. This data structure is maintained (modified) in real time depending on the user's manipulations in particular.
  • a simple coordinate system (x, y) is preferred. Manual translations, zoom rotation and dezoom are then easier to pass on to the data structure.
  • the visualization application searches if this node is present within the display data structure and if it is present, what are its coordinates.
  • the sufficiency criterion can be calculated in several different ways, in particular with respect to the center of the screen (ie distance “threshold” separating the display of the resource from the center of the screen)), then no action is taken.
  • one or more actions are implemented by the visualization application to make the resource visible (compared to the previously defined threshold for example).
  • the coordinates of the impacted resources are updated in the display structure to allow the automatic implementation of these actions.
  • an action of selecting the resource (causing the opening of a window of its properties) can also be implemented.
  • a server that implements some or all of one or more of the technologies described here, including techniques for implementing network configuration servers, network configuration service managers, viewing topology and / or instance hosts, may: include a general purpose computer system that includes or is configured to access one or more media accessible by computer.
  • FIG. 6 illustrates such a general-purpose computing device 3000.
  • the computing device 3000 comprises one or more processors 3010 coupled to a system memory 3020 via an input / output interface 3030.
  • the computing device 3000 further includes network interface 3040 coupled to the input / output interface 3030.
  • the computing device 3000 may be a single processor system comprising a processor 3010 or a multi-processor system comprising multiple processors 3010 (for example two, four, eight or some other suitable number).
  • 3010 processors can be any suitable processors capable of running instructions.
  • processors 3010 can be general purpose or embedded processors implementing any of a variety of instruction set architectures (ISAs), such as ISA x86, PowerPC, SPARC or MIPS, or any other appropriate ISA.
  • ISAs instruction set architectures
  • each of the processors 3010 can generally, but not necessarily, implement the same ISA.
  • graphics processing units GPUs
  • GPUs can be used in place of or in addition to conventional processors.
  • System memory 3020 can be configured to store instructions and data accessible to processor (s) 3010.
  • system memory 3020 can be implemented using any suitable memory technology, such as '' static random access memory (SRAM), synchronous dynamic RAM (SDRAM).), non-volatile / Flash memory or any other type of memory.
  • SRAM static random access memory
  • SDRAM synchronous dynamic RAM
  • non-volatile / Flash memory any other type of memory.
  • the program instructions and the data implementing one or more desired functions, such as the methods, techniques and data described above, are stored in the system memory 3020 in the form of code 3025 and 3026.
  • the I / O interface 3030 can be configured to coordinate I / O traffic between the processor 3010, system memory 3020, and all devices on the device, including the network interface 3040. or other peripheral interfaces such as various types of persistent data and / or the like or volatile storage devices used to store physical replicas of data object partitions.
  • the I / O interface 3030 can perform any necessary protocol, synchronization, or other data transformation to convert the data signals of a component (for example, system memory 3020) to an appropriate format. to be used by another component (for example, the 3010 processor).
  • the I / O interface 3030 may include support for devices connected via various types of device buses, such as a variant of the PCI bus standard ("Peripheral Component Interconnect") or USB standard ("Universal Serial Bus”), for example.
  • the function of the I / O interface 3030 can be split into two or more separate components, such as a north bridge and a south bridge, for example.
  • some or all of the functionality of the I / O interface 3030 such as an interface to system memory 3020, can be incorporated directly into the processor.
  • the network interface 3040 can be configured to allow the exchange of data between the computing device 3000 and other devices 3060 connected to a network or to networks 3050, such as other computer systems or devices, as illustrated in the Fig. 1 and 2, for example.
  • the network interface 3040 can support communication via any suitable general wired or wireless data network, such as types of Ethernet network, for example.
  • the network interface 3040 can support communication via telecommunication / telephony networks such as analog voice networks or digital fiber communication networks, via storage networks such as Fiber Channel SANs or via any other type of network and / or appropriate protocol.
  • system memory 3020 may be an embodiment of computer-accessible media configured to store program instructions and data as described above for FIG. 1 in FIG. 5 for implementing embodiments of the corresponding methods and devices.
  • program instructions and / or data may be received, sent or stored on different types of media accessible by computer.
  • a computer-accessible medium can include a non-transient storage medium or a memory medium such as a magnetic or optical medium, for example a disc or a DVD / CD coupled to the computing device 3000 via a computer interface. input / output 3030.
  • a non-transient computer an accessible storage medium can also include any volatile or non-volatile medium such as RAM (for example, SDRAM, SDRAM DDR, RDRAM, SRAM, etc.), ROM, etc., which can be included in certain embodiments of the computing device 3000 as system memory. 3020 or another type of memory.
  • a computer accessible medium may include a transmission medium or signals such as electrical, electromagnetic or digital signals, routed via a communication medium such as a network and / or a wireless link, such as can be implemented via the network interface 3040 or all multiple computing devices such as that illustrated in FIG. 5 can be used to implement the functionality described in various embodiments; For example, software components running on different devices and servers can collaborate to provide functionality.
  • portions of the functionality described can be implemented using storage devices, network devices, or specific purpose computer systems, in addition to or instead of being implemented using systems general purpose computers.
  • the term "computing device” as as used herein, refers to at least all of these types of devices and is not limited to these types of devices.
  • a computer-accessible medium can include a storage medium or a memory medium such as a magnetic or optical medium, for example a disc or DVD / CD-ROM, a volatile or non-volatile medium such as a random access memory (SDRAM, DDR, RDRAM, SRAM, etc.). , etc.), ROM, etc., as well as transmission media or signals such as electrical, electromagnetic or digital signals, routed via a communication medium such as a network and / or a wireless link.
  • a storage medium or a memory medium such as a magnetic or optical medium, for example a disc or DVD / CD-ROM, a volatile or non-volatile medium such as a random access memory (SDRAM, DDR, RDRAM, SRAM, etc.). , etc.), ROM, etc., as well as transmission media or signals such as electrical, electromagnetic or digital signals, routed via a communication medium such as a network and / or a wireless link.

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

The invention pertains to a method for processing event-based data, method implemented by an electronic device connected to a communication network, said event-based data originating from at least one resource, said at least one resource being known to said electronic device and identified within a resource list. Such a method comprises: - a step (10) of displaying, on a screen connected to the electronic device, an initial multidimensional representation of a resource set, said multidimensional representation comprising, for a given process and/or a resource, a displaying of an initial state; - at least one iteration (20) of a step of receiving, from at least one computing resource, a resource current event and/or of an event of a process executing on said resource; - at least one iteration (30) of a step of processing the multidimensional representation of the resource set comprising an updating of the representation of the resource and/or of the process as a function of the current event and of an earlier state of the resource and/or of the process.

Description

Procédé de représentation dynamique d'allocation de ressources, dispositif et programme d'ordinateur correspondant.  Method for dynamic representation of resource allocation, device and corresponding computer program.
1. Domaine  1. Domain
L'invention se rapporte à l'intégration de grandes quantités de ressources de calcul. La présente technique se rapporte plus particulièrement à l'intégration de grands ensembles de ressources disponibles pour réaliser des traitements. Plus spécifiquement encore, la technique décrite offre la possibilité d'intégrer, d'une manière centralisée, des ensembles de ressources informatisées de traitement applicatif de manière simple et intuitive, tout en permettant une vue d'ensemble des ressources.  The invention relates to the integration of large amounts of computing resources. The present technique relates more particularly to the integration of large sets of resources available for performing treatments. Even more specifically, the technique described offers the possibility of integrating, in a centralized manner, sets of computerized application processing resources in a simple and intuitive manner, while allowing an overview of the resources.
2. Art Antérieur  2. Prior Art
Des organisations exploitent des réseaux informatiques qui interconnectent de nombreuses ressources informatiques pour mettre en œuvre leurs opérations, par exemple lorsque les ressources informatiques sont colocalisées (par exemple dans le cadre d'un réseau local) ou situées dans plusieurs emplacements géographiques distincts (par exemple connectées via un ou plusieurs réseaux intermédiaires privés ou publics). Les centres de données (Datacenters) hébergeant un nombre important de ressources informatiques interconnectées sont devenus monnaie courante. Il existe des centres de données privés exploités par et pour le compte d'une seule organisation et des centres de données publics exploités par des entreprises pour fournir des ressources informatiques à ses clients. Certains opérateurs de centres de données publics fournissent un accès réseau, de l'alimentation et des installations sécurisées pour le matériel appartenant à divers clients, tandis que d'autres exploitants de centres de données publics offrent des installations de type "service complet" incluant également des ressources matérielles mises à la disposition de leurs clients. Cependant, avec l'augmentation de la taille et de la portée des centres de données de ce type, les tâches de provisionnement, d'administration et de gestion des ressources informatiques sont devenues de plus en plus complexes.  Organizations operate computer networks that interconnect many IT resources to implement their operations, for example when IT resources are co-located (for example as part of a local network) or located in several separate geographic locations (for example connected via one or more private or public intermediary networks). Data centers hosting a large number of interconnected IT resources have become commonplace. There are private data centers operated by and on behalf of a single organization and public data centers operated by companies to provide IT resources to its customers. Some public data center operators provide network access, power and secure facilities for equipment belonging to various customers, while other public data center operators offer "full service" facilities also material resources made available to their customers. However, with the increase in size and scope of such data centers, the tasks of provisioning, administering, and managing IT resources have become increasingly complex.
Le déploiement massif des technologies de virtualisation a apporté des avantages en termes de gestion des ressources informatiques à grande échelle pour de nombreux clients ayant des besoins divers, permettant ainsi à plusieurs clients de partager efficacement et en toute sécurité diverses ressources informatiques. Par exemple, les technologies de virtualisation peuvent permettre à une seule machine informatique physique d'être partagée entre plusieurs utilisateurs en fournissant à chaque utilisateur une ou plusieurs machines virtuelles hébergées par la seule machine informatique physique. Chaque machine virtuelle peut être considérée comme une simulation logicielle agissant comme un système informatique logique distinct qui donne aux utilisateurs l'illusion qu'ils sont les seuls opérateurs et administrateurs d'une ressource informatique matérielle donnée, tout en assurant l'isolation et la sécurité des applications entre les différents systèmes virtuels. En outre, certaines technologies de virtualisation sont capables de fournir des ressources virtuelles couvrant au moins deux ressources physiques, telles qu'une seule machine virtuelle dotée de plusieurs processeurs virtuels couvrant plusieurs ressources informatiques physiques distincts. The massive deployment of virtualization technologies has brought benefits in terms of large-scale IT resource management for many customers with diverse needs, allowing multiple customers to efficiently and securely share diverse IT resources. For example, virtualization technologies can allow a single physical computer machine to be shared among multiple users by providing each user with one or more virtual machines hosted by the single physical computer machine. Each virtual machine can be thought of as a software simulation acting as a separate logical computer system that gives users the illusion that they are the only operators and administrators of a given hardware IT resource, while ensuring the isolation and security of applications between different virtual systems. In addition, some virtualization technologies are capable of providing virtual resources spanning at least two physical resources, such as a single virtual machine with multiple virtual processors spanning multiple distinct physical computing resources.
Au fur et à mesure que les fonctionnalités prises en charge par les fournisseurs de ressources de calcul, de stockage et de réseau virtualisés se développent et que le nombre de plates-formes matérielles utilisées par les fournisseurs à grande échelle se développe, la mise en œuvre d'opérations de contrôle sur les plates-formes, telles que la gestion du trafic réseau flux, peut lui-même devenir assez complexe. Dans de nombreux cas, la fonctionnalité et la convivialité des applications exécutées sur de telles plates-formes peuvent largement reposer sur des communications réseau avec d'autres parties du réseau du fournisseur et/ou avec des entités externes telles que des clients ou des tiers. Dans le but d'atteindre les niveaux de performances souhaités pour les applications, les opérateurs de tels systèmes distribués peuvent d'une part avoir mis en place des infrastructures de réseau à bande passante élevée et d'autre part avoir outrageusement surdimensionner les capacités de calcul et de traitement des infrastructures et ce dans le seul but de faire face à la montée en charge et aux pannes. Cependant, malgré la mise à disposition de liaisons et de périphériques réseau à bande passante élevée, et l'augmentation des ressources de traitement, la gestion des infrastructures, des ressources et des applications qui s'exécutent au sein de ces ressources passe souvent par une gestion par liste. La virtualisation peut compliquer encore plus la gestion de la bande passante réseau (ainsi que la latence et d'autres caractéristiques réseau), car les diverses machines virtuelles mises en œuvre sur une plate forme matérielle unique peuvent avoir des exigences très diverses qui doivent être satisfaites à l'aide des composants réseau partagés de la plateforme et aussi parce que l'ensemble des applications et des machines virtuelles instanciées sur une plate-forme matérielle donnée peut changer au fil du temps. Pour faire face aux difficultés d'administration, la solution réside souvent par la remontée d'évènements au niveau d'une interface d'administration, laquelle est utilisée par un opérateur qui voit apparaître les évènements (comme les dysfonctionnements matériels ou logiciels) sous la forme d'une liste. Or cette manière de faire est assez peu efficace, d'une part car l'obtention d'une information complète relative à l'évènement ne permet généralement pas à l'opérateur de considérer cet évènement par rapport à son environnement : l'opérateur ne dispose pas d'information sur la tâche, l'application ou la ressource, sous une forme contextuelle, c'est-à-dire par rapport à son environnement. Or, par exemple lorsqu'une tâche est en défaut (cas d'un thread applicatif en défaut), il peut être intéressant de contextualiser ce défaut par rapport à l'ensemble des threads d'une ressource physique ou virtuelle. Les solutions actuelles d'administration ne permettent pas de contextualiser la visualisation des évènements liés à l'exécution d'application ou de portions d'applications au sein d'un ensemble de ressources. Il existe donc un besoin de fournir une méthode qui permette une telle contextualisation. As the functionality supported by providers of virtualized compute, storage and network resources grows and the number of hardware platforms used by large-scale vendors grows, the implementation Control operations on platforms, such as managing network traffic flows, can itself become quite complex. In many cases, the functionality and usability of applications running on such platforms can largely rely on network communications with other parts of the provider's network and / or with external entities such as customers or third parties. In order to achieve the desired performance levels for the applications, the operators of such distributed systems may on the one hand have set up high bandwidth network infrastructures and on the other hand have grossly oversize the computing capacities. and processing infrastructure, with the sole aim of dealing with the ramp-up and breakdowns. However, despite the availability of high-bandwidth network links and devices, and the increase in processing resources, managing the infrastructure, resources, and applications running within those resources often involves list management. Virtualization can further complicate the management of network bandwidth (as well as latency and other network characteristics), because the various virtual machines implemented on a single hardware platform can have very diverse requirements that must be met using the shared network components of the platform and also because all of the applications and virtual machines instantiated on a given hardware platform can change over time. To deal with administration difficulties, the solution often lies in reporting events to an administration interface, which is used by an operator who sees events (such as hardware or software malfunctions) appear under the form of a list. However, this way of doing things is not very effective, on the one hand because obtaining complete information relating to the event does not generally allow the operator to consider this event in relation to its environment: the operator does not has no information about the task, the application or the resource, in a contextual form, that is to say in relation to its environment. However, for example when a task is in default (case of a faulty application thread), it may be interesting to contextualize this fault compared to all the threads of a physical or virtual resource. Current administration solutions do not make it possible to contextualize the visualization of events related to the execution of applications or portions of applications within a set of resources. There is therefore a need to provide a method which allows such contextualization.
3. Résumé  3. Summary
La méthode proposée par les inventeurs ne pose pas au moins certains de ces problèmes de l'art antérieur. En effet, il est proposé un procédé d'intégration de traitement de données événementielles, procédé mis en œuvre par un dispositif électronique connecté à un réseau de communication, lesdites données événementielles provenant d'au moins une ressource, ladite au moins une ressource étant connu dudit dispositif électronique et identifiée au sein d'une liste de ressources. Un tel procédé comprend :  The method proposed by the inventors does not pose at least some of these problems of the prior art. Indeed, an integration method for processing event data is proposed, a method implemented by an electronic device connected to a communication network, said event data coming from at least one resource, said at least one resource being known. said electronic device and identified within a list of resources. Such a method includes:
une étape d'affichage, sur un écran connecté au dispositif électronique, d'une représentation multidimensionnelle initiale d'un ensemble de ressource, ladite représentation multidimensionnelle comprenant, pour une ressource et/ou un processus donné, un affichage d'un état initial ;  a step of displaying, on a screen connected to the electronic device, an initial multidimensional representation of a set of resources, said multidimensional representation comprising, for a given resource and / or a process, a display of an initial state;
au moins une itération d'une étape de réception, en provenance d'au moins une ressource informatique, d'un évènement courant de ressource et/ou d'un évènement d'un processus s'exécutant sur ladite ressource ;  at least one iteration of a reception step, coming from at least one IT resource, of a current resource event and / or of an event of a process executing on said resource;
au moins une itération d'une étape de traitement de la représentation multidimensionnelle de l'ensemble de ressource comprenant une mise à jour de la représentation de la ressource et/ou du processus en fonction de l'évènement courant et d'un état antérieur de la ressource et/ou du processus.  at least one iteration of a step of processing the multidimensional representation of the resource set comprising an update of the representation of the resource and / or of the process as a function of the current event and of a previous state of the resource and / or process.
Ainsi, l'invention permet de simplifier l'affichage des évènements en provenance des ressources, nœuds et processus en cours d'exécution et proposant une représentation multidimensionnelle et visuelle de l'activité de l'ensemble des ressources. Par exemple lorsqu'on utilise une liste pour visualiser les ressources, elle ne tient pas sur la taille d'écran dès lors qu'il y a de nombreuses ressources. Ce n'est pas le cas avec l'invention puisque la représentation est adaptée à la quantité de ressources à afficher, soit en termes de taille de la représentation d'une ressource soit en termes de zoom/dézoom de cette des ressources au sein desquelles un évènement est survenu.  Thus, the invention makes it possible to simplify the display of events originating from resources, nodes and processes in progress and offering a multidimensional and visual representation of the activity of all the resources. For example when using a list to view the resources, it does not fit on the screen size when there are many resources. This is not the case with the invention since the representation is adapted to the quantity of resources to be displayed, either in terms of the size of the representation of a resource or in terms of zooming in / out of this of the resources within which an event has occurred.
Selon une caractéristique particulière, le procédé comprend en outre au moins une étape de traitement, en provenance d'un périphérique d'utilisateur, d'une commande d'affichage de ladite représentation multidimensionnelle sur ledit écran. Selon une caractéristique particulière, l'étape d'affichage de la représentation multidimensionnelle initiale dudit ensemble de ressource comprend l'affichage d'une structure multidimensionnelle de base, comprenant une pluralité d'emplacements, chaque ressource et/ou processus de la liste de ressources étant assigné à un emplacement donné parmi l'ensemble des emplacements disponibles. According to a particular characteristic, the method further comprises at least one step of processing, from a user device, a command to display said multidimensional representation on said screen. According to a particular characteristic, the step of displaying the initial multidimensional representation of said resource set comprises the display of a basic multidimensional structure, comprising a plurality of locations, each resource and / or process of the resource list being assigned to a given location among all the available locations.
Selon un mode de réalisation particulier, l'étape d'affichage comprend en outre une étape de regroupement, sur la structure multidimensionnelle de base, des processus appartenant à une même ressource.  According to a particular embodiment, the display step further comprises a step of grouping, on the basic multidimensional structure, processes belonging to the same resource.
Selon une caractéristique particulière, l'étape mise à jour de la représentation de la ressource et/ou du processus en fonction de l'évènement courant et d'un état antérieur de la ressource et/ou du processus comprend une modification de la hauteur de la représentation de la ressource et/ou du processus.  According to a particular characteristic, the step of updating the representation of the resource and / or of the process as a function of the current event and of a previous state of the resource and / or of the process comprises a modification of the height of the representation of the resource and / or the process.
Ainsi, l'invention rend possible la représentation d'exécution, sur de multiples ressources, d'une application ou d'une portion d'application, pour le gestionnaire d'infrastructures qui lui permet de visuellement se rendre compte de l'usage de ses ressources et qui lui permet d'éviter de surdimensionner son infrastructure afin que celle-ci puisse répondre aux défaillances constatées.  Thus, the invention makes it possible to represent the execution, on multiple resources, of an application or of a portion of application, for the infrastructure manager which allows him to visually realize the use of its resources and which allows it to avoid oversizing its infrastructure so that it can respond to the failures noted.
Il est entendu, dans le cadre de la description de la présente technique selon l'invention, qu'une étape de transmission d'une information et/ou d'un message d'un premier dispositif à un deuxième dispositif, correspond au moins partiellement, pour ce deuxième dispositif à une étape de réception de l'information et/ou du message transmis, que cette réception et cette transmission soit directe ou qu'elle s'effectue par l'intermédiaire d'autres dispositifs de transport, de passerelle ou d'intermédiation, y inclus les dispositifs décrits dans la présente selon l'invention.  It is understood, in the context of the description of the present technique according to the invention, that a step of transmitting information and / or a message from a first device to a second device, corresponds at least partially , for this second device at a step of receiving the information and / or the transmitted message, whether this reception and this transmission is direct or whether it is carried out by means of other transport, gateway or intermediation, including the devices described herein according to the invention.
Selon un autre aspect, l'invention se rapporte également à un dispositif électronique de traitement de données événementielles apte à être connecté à un réseau de communication, lesdites données événementielles provenant d'au moins une ressource, ladite au moins une ressource étant connu dudit dispositif électronique et identifiée au sein d'une liste de ressources. Le dispositif comprend des moyens d'affichage, sur un écran connecté au dispositif électronique, d'une représentation multidimensionnelle initiale d'un ensemble de ressource, ladite représentation multidimensionnelle comprenant, pour une ressource et/ou un processus donné, un affichage d'un état initial ; des moyens de réception, en provenance d'au moins une ressource informatique, d'un évènement courant de ressource et/ou d'un évènement d'un processus s'exécutant sur ladite ressource ; According to another aspect, the invention also relates to an electronic device for processing event data capable of being connected to a communication network, said event data coming from at least one resource, said at least one resource being known by said device electronic and identified within a list of resources. The device comprises means for displaying, on a screen connected to the electronic device, an initial multidimensional representation of a set of resources, said multidimensional representation comprising, for a given resource and / or a process, a display of a initial state ; means for receiving, from at least one computer resource, a current resource event and / or an event of a process executing on said resource;
des moyens de traitement de la représentation multidimensionnelle de l'ensemble de ressource comprenant une mise à jour de la représentation de la ressource et/ou du processus en fonction de l'évènement courant et d'un état antérieur de la ressource et/ou du processus.  means for processing the multidimensional representation of the resource set comprising an update of the representation of the resource and / or of the process as a function of the current event and of a previous state of the resource and / or of the process.
L'invention se rapporte également, selon un aspect complémentaire, à un système d'exécution. Un tel système comprend au moins une ressource d'intégration, de type « master » prenant la forme d'un dispositif électronique d'exécution tel que décrit précédemment et au moins une ressource d'exécution accessible depuis la ressource d'exécution et apte à transmettre à celle-ci des informations d'état.  The invention also relates, according to a complementary aspect, to an execution system. Such a system comprises at least one integration resource, of “master” type taking the form of an electronic execution device as described above and at least one execution resource accessible from the execution resource and suitable for transmit status information to it.
Selon une implémentation préférée, les différentes étapes des procédés selon l'invention sont mises en œuvre par un ou plusieurs logiciels ou programmes d'ordinateur, comprenant des instructions logicielles destinées à être exécutées par un processeur de données d'un dispositif d'exécution selon l'invention et étant conçu pour commander l'exécution des différentes étapes des procédés, mis en œuvre au niveau du terminal de communication, du dispositif électronique d'exécution et/ou du serveur distant, dans le cadre d'une répartition des traitements à effectuer et déterminés par un codes source scripté.  According to a preferred implementation, the different steps of the methods according to the invention are implemented by one or more software or computer programs, comprising software instructions intended to be executed by a data processor of an execution device according to the invention and being designed to control the execution of the different stages of the methods, implemented at the level of the communication terminal, of the electronic execution device and / or of the remote server, within the framework of a distribution of the treatments to perform and determined by scripted source code.
En conséquence, l'invention vise aussi des programmes, susceptibles d'être exécutés par un ordinateur ou par un processeur de données, ces programmes comportant des instructions pour commander l'exécution des étapes des procédés tel que mentionnés ci-dessus.  Consequently, the invention also relates to programs, capable of being executed by a computer or by a data processor, these programs comprising instructions for controlling the execution of the steps of the methods as mentioned above.
Un programme 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.  A program can 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 a partially compiled form, or in any other desirable form.
L'invention vise aussi un support d'informations lisible par un processeur de données, et comportant des instructions d'un programme tel que mentionné ci-dessus.  The invention also relates to an information medium readable by a data processor, and comprising instructions of a program as mentioned above.
Le support d'informations peut être n'importe quelle entité ou dispositif capable de stocker le programme. Par exemple, le 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, par exemple un support mobile (carte mémoire) ou un disque dur ou un SSD.  The information medium can be any entity or device capable of storing the program. For example, the support may include a storage means, such as a ROM, for example a CD ROM or a microelectronic circuit ROM, or else a magnetic recording means, for example a mobile support (memory card) or a hard drive or SSD.
D'autre part, le 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. Le programme selon l'invention peut être en particulier téléchargé sur un réseau de type Internet. On the other hand, the information medium can be a transmissible medium such as an electrical or optical signal, which can be routed via an electrical or optical cable, by radio or by other ways. The program according to the invention can in particular be downloaded from a network of the Internet type.
Alternativement, le support d'informations peut être un circuit intégré dans lequel le programme est incorporé, le circuit étant adapté pour exécuter ou pour être utilisé dans l'exécution du procédé en question.  Alternatively, the information medium can be an integrated circuit in which the program is incorporated, the circuit being adapted to execute or to be used in the execution of the process in question.
Selon un mode de réalisation, l'invention est mise en œuvre au moyen de composants logiciels et/ou matériels. Dans cette optique, le terme "module" peut correspondre dans ce document aussi bien à un composant logiciel, qu'à un composant matériel ou à un ensemble de composants matériels et logiciels.  According to one embodiment, the invention is implemented by means of software and / or hardware components. In this perspective, the term "module" can correspond in this document as well to a software component, as to a hardware component or to a set of hardware and software components.
Un composant logiciel correspond à un ou plusieurs programmes d'ordinateur, un ou plusieurs sous-programmes d'un programme, ou de manière plus générale à tout élément d'un programme ou d'un logiciel apte à mettre en œuvre une fonction ou un ensemble de fonctions, selon ce qui est décrit ci- dessous pour le module concerné. Un tel composant logiciel est exécuté par un processeur de données d'une entité physique (terminal, serveur, passerelle, set-top-box, routeur, etc.) et est susceptible d'accéder aux ressources matérielles de cette entité physique (mémoires, supports d'enregistrement, bus de communication, cartes électroniques d'entrées/sorties, interfaces utilisateur, etc.).  A software component corresponds to one or more computer programs, one or more subroutines of a program, or more generally to any element of a program or software capable of implementing a function or a set of functions, as described below for the module concerned. Such a software component is executed by a data processor of a physical entity (terminal, server, gateway, set-top-box, router, etc.) and is capable of accessing the hardware resources of this physical entity (memories, recording media, communication bus, electronic input / output cards, user interfaces, etc.).
De la même manière, un composant matériel correspond à tout élément d'un ensemble matériel (ou hardware) apte à mettre en œuvre une fonction ou un ensemble de fonctions, selon ce qui est décrit ci-dessous pour le module concerné. Il peut s'agir d'un composant matériel programmable ou avec processeur intégré pour l'exécution de logiciel, par exemple un circuit intégré, une carte à puce, une carte à mémoire, une carte électronique pour l'exécution d'un micrologiciel (firmware), etc.  In the same way, a hardware component corresponds to any element of a hardware (or hardware) set capable of implementing a function or a set of functions, according to what is described below for the module concerned. It can be a programmable hardware component or with an integrated processor for the execution of software, for example an integrated circuit, a smart card, a memory card, an electronic card for the execution of firmware ( firmware), etc.
Chaque composante du système précédemment décrit met bien entendu en œuvre ses propres modules logiciels.  Each component of the system described above naturally implements its own software modules.
Les différents modes de réalisation mentionnés ci-dessus sont combinables entre eux pour la mise en œuvre de l'invention.  The various embodiments mentioned above can be combined with one another for implementing the invention.
4. Figures  4. Figures
D'autres caractéristiques et avantages de l'invention apparaîtront plus clairement à la lecture de la description suivante d'un mode de réalisation préférentiel, donné à titre de simple exemple illustratif et non limitatif, et des dessins annexés, parmi lesquels :  Other characteristics and advantages of the invention will appear more clearly on reading the following description of a preferred embodiment, given by way of simple illustrative and nonlimiting example, and of the appended drawings, among which:
la figure 1 décrit un système dans lequel l'invention est mise en œuvre ;  FIG. 1 describes a system in which the invention is implemented;
la figure 2 décrit les étapes de mises en œuvre de l'invention ;  FIG. 2 describes the steps for implementing the invention;
la figure 3 illustre une première représentation d'un système selon l'invention ; la figure 4 illustre une deuxième représentation d'un système selon l'invention ; la figure 5 illustre une troisième représentation d'un système selon l'invention ; FIG. 3 illustrates a first representation of a system according to the invention; FIG. 4 illustrates a second representation of a system according to the invention; FIG. 5 illustrates a third representation of a system according to the invention;
la figure 6 illustre une architecture d'un dispositif apte à mettre en œuvre un procédé de traitement de l'invention.  FIG. 6 illustrates an architecture of a device capable of implementing a processing method of the invention.
5. Description  5. Description
5.1. Exposé du principe  5.1. Statement of the principle
L'objet de l'invention, comme exposé précédemment, est de fournir une technique de gestion simple, efficace et intuitive de ressources informatiques physiques ou virtuelles. Plus particulièrement, l'invention offre une solution de gestion de grands ensembles de ressources de façon simple en proposant une représentation graphique combinée à une technique de modulation de la représentation en fonction des états des ressources informatiques. Au sein de cette représentation graphique, les ressources informatiques sont regroupées en cluster. Chaque cluster comprend un nombre prédéterminé de ressources informatiques (soit physique, soit virtuelle soit les deux) : un cluster peut représenter une grille de calcul ou un ensemble de grilles de calcul. L'invention offre la possibilité d'une part de gérer ces clusters individuellement et facilement et d'autre part de gérer individuellement chacune des ressources informatiques de ce cluster de façon totalement indépendante. Enfin, d'une manière générale, l'invention offre la possibilité de visualiser des évènements (anomalie/tâche en cours, charge) de manière simple et ce sans restreindre le champ de vision de l'utilisateur, c'est à dire sans limiter la vision que l'utilisateur peut avoir de l'ensemble de ressources.  The object of the invention, as explained above, is to provide a simple, efficient and intuitive management technique for physical or virtual IT resources. More particularly, the invention offers a solution for managing large sets of resources in a simple manner by proposing a graphical representation combined with a technique for modulating the representation as a function of the states of the computer resources. Within this graphic representation, IT resources are grouped in a cluster. Each cluster includes a predetermined number of IT resources (either physical, virtual or both): a cluster can represent a calculation grid or a set of calculation grids. The invention offers the possibility on the one hand of managing these clusters individually and easily and on the other hand of managing each of the IT resources of this cluster individually completely independently. Finally, in general, the invention offers the possibility of viewing events (anomaly / task in progress, load) in a simple manner without restricting the field of vision of the user, that is to say without limiting the vision that the user can have of the set of resources.
Ces avantages sont obtenus par un procédé d'intégration de ressources informatiques, procédé comprenant la mise en œuvre d'une structure de données représentative d'un ensemble de ressources informatiques. Cette structure de données comprend, pour chaque ressource informatique, au moins une information d'état et au moins un cluster (nœud) d'appartenance. La structure de données est dimensionnée pour répondre aux besoins d'affichage de la représentation associée à l'ensemble des ressources informatiques qui est géré. Comme explicité ci-après, dans un mode de réalisation explicatif et non limitatif, la structure de données peut comprendre plusieurs milliers d'entrées et se présenter sous la forme d'un tableau ou encore d'une base de données. La structure de données est créée, alimentée et mise à jour par un serveur d'intégration de ressources informatiques. Pour les besoins de la description, un serveur d'intégration de ressources informatiques est appelé "master". En fonction des modes de réalisation, plusieurs serveurs « master » peuvent transmettre des données à afficher à un dispositif d'affichage donné. Le « master » dispose d'au moins une interface matérielle d'accès aux ressources. Cette (au moins une) interface matérielle d'accès aux ressources informatiques peut être complétée ou surchargée d'interfaces logiques d'accès à des ressources informatiques. Les ressources informatiques accédées par master sont du type ressources informatiques physiques et/ou ressource informatiques logiques (virtuelles). Une ressource informatique physique peut prendre la forme d'un serveur, d'un ordinateur personnel, d'un smartphone, d'une tablette ou encore d'un cœur d'un processeur multicœur. Plus généralement, une ressource informatique physique comprend une unité de calcul physiquement adressable et apte à mettre en œuvre un traitement informatisé d'une application (un programme) ou une partie d'application (une partie de programme). Une ressource informatique logique (virtuelle) peut prendre la forme d'une machine virtuelle (reproduisant comme explicité précédemment le fonctionnement d'une machine physique) s'exécutant sur une ou plusieurs ressources informatiques physique ou plus généralement d'un programme s'exécutant sur une ressource informatique physique (par exemple un interpréteur de code scripté ou de bytecode). These advantages are obtained by a method of integrating computer resources, method comprising the implementation of a data structure representative of a set of computer resources. This data structure includes, for each IT resource, at least one state information and at least one membership cluster (node). The data structure is sized to meet the display needs of the representation associated with all of the IT resources that are managed. As explained below, in an explanatory and nonlimiting embodiment, the data structure can include several thousand entries and be in the form of a table or even a database. The data structure is created, fed and updated by an IT resource integration server. For the purposes of the description, an IT resource integration server is called "master". Depending on the embodiments, several “master” servers can transmit data to be displayed to a given display device. The "master" has at least one hardware interface for accessing resources. This (at least one) hardware interface for accessing computer resources can be supplemented or overloaded with logical interfaces for accessing computer resources. The computer resources accessed by master are of the physical computer resources and / or logical (virtual) computer resources type. A physical computing resource can take the form of a server, a personal computer, a smartphone, a tablet or even a core of a multicore processor. More generally, a physical computer resource comprises a calculation unit that is physically addressable and capable of implementing computerized processing of an application (a program) or a part of an application (a part of a program). A logical (virtual) computer resource can take the form of a virtual machine (reproducing as explained above the operation of a physical machine) executing on one or more physical computing resources or more generally of a program executing on a physical computer resource (for example a scripted code or bytecode interpreter).
Dans le cadre de l'invention, on suppose qu'une ressource informatique peut, en fonction des modes de réalisation, être en charge de la mise en œuvre d'un ou de plusieurs "threads" (de l'anglais), également appelé processus, qui exécute une partie ou de la totalité d'une application par une ressource informatique (l'exécution pouvant également être appelée «job »). Dans le cadre de la présente, on suppose également que master est en mesure d'obtenir, de la part des ressources informatiques, l'état des threads qui s'exécutent au sein de la ressource informatique.  Within the framework of the invention, it is assumed that an IT resource can, depending on the embodiments, be in charge of the implementation of one or more "threads" (also called "threads"). process, which executes part or all of an application by an IT resource (execution can also be called "job"). In the context of this, it is also assumed that master is able to obtain, from computer resources, the state of the threads that run within the computer resource.
La figure 1 représente l'ensemble des ressources informatiques possibles telle que mise en œuvre dans l'invention. La structure de données représentative de l'ensemble des ressources informatiques comprend les informations illustrées en figure 1, soit sous une forme tabulaire (une ligne par enregistrement), soit sous la forme d'arbre. La constitution de la structure de données (SDAT) est adaptée aux conditions de mises en œuvre opérationnelle, afin de fournir un accès rapide au contenu de la structure de données. Par exemple, une base de données peut être adaptée à l'intégration d'un très grand nombre de ressources informatiques tandis qu'un fichier xml ou un fichier à plat de type "json" peut être adapté à un nombre plus faible de ressources informatiques.  FIG. 1 represents all of the possible computer resources as implemented in the invention. The data structure representative of all of the computer resources includes the information illustrated in FIG. 1, either in tabular form (one row per record), or in the form of a tree. The constitution of the data structure (SDAT) is adapted to the operational implementation conditions, in order to provide rapid access to the content of the data structure. For example, a database can be adapted to the integration of a very large number of IT resources, while an XML file or a flat file of the "json" type can be adapted to a lower number of IT resources. .
Quoi qu'il en soit, comme explicité en figure 1, on considère qu'un cluster (un nœud) se rapporte à au moins une ressource informatique (physique ou logique). Une ressource informatique met en œuvre un ou plusieurs threads associés à l'exécution d'une partie ou de la totalité d'une application. Une ressource informatique peut se rapporter à plusieurs cluster (nœuds) en même temps. Dans un mode de réalisation particulier, un cluster comprend une pluralité de ressources et chaque ressource met en œuvre un et un seul thread à un instant donné (pas de concurrence d'accès aux ressources). Anyway, as explained in Figure 1, we consider that a cluster (a node) relates to at least one IT resource (physical or logical). An IT resource implements one or more threads associated with the execution of part or all of an application. An IT resource can relate to several clusters (nodes) at the same time. In a mode of particular embodiment, a cluster comprises a plurality of resources and each resource implements one and only one thread at a given time (no concurrency of access to the resources).
En possession de cette structure de données, le procédé de l'invention, tel qu'illustré en figure 2, comprend les étapes suivantes, mises en œuvre de manière itératives, pour permettre une restitution des données de la structure, par le « master » ou par un terminal auquel le « master » communique des données d'affichage :  In possession of this data structure, the method of the invention, as illustrated in FIG. 2, comprises the following steps, implemented iteratively, to allow restitution of the data of the structure, by the "master" or by a terminal to which the "master" communicates display data:
une étape d'affichage (10), sur un écran connecté au dispositif électronique, d'une représentation multidimensionnelle initiale d'un ensemble de ressource, ladite représentation multidimensionnelle comprenant, pour une ressource et/ou un processus donné, un affichage d'un état initial ;  a step of displaying (10), on a screen connected to the electronic device, an initial multidimensional representation of a set of resources, said multidimensional representation comprising, for a given resource and / or a process, a display of a initial state ;
au moins une itération (20) d'une étape de réception, en provenance d'au moins une ressource informatique, d'un évènement courant de ressource et/ou d'un évènement d'un processus s'exécutant sur ladite ressource ;  at least one iteration (20) of a reception step, coming from at least one IT resource, of a current resource event and / or of an event of a process executing on said resource;
au moins une itération (30) d'une étape de traitement de la représentation multidimensionnelle de l'ensemble de ressource comprenant une mise à jour de la représentation de la ressource et/ou du processus en fonction de l'évènement courant et d'un état antérieur de la ressource et/ou du processus.  at least one iteration (30) of a step for processing the multidimensional representation of the resource set comprising an update of the representation of the resource and / or of the process as a function of the current event and of a previous state of the resource and / or process.
Selon l'invention, la mise à jour de la représentation de la ressource et/ou du thread (processus) en fonction de l'état courant, comprend au moins une étape appartenant au groupe suivant :  According to the invention, updating the representation of the resource and / or of the thread (process) as a function of the current state, comprises at least one step belonging to the following group:
pour un thread donné, parmi l'ensemble des threads en cours d'exécution, une modification de la hauteur et/ou de la forme de la représentation multidimensionnelle de ce thread en fonction de la charge de traitement associée à l'application ou à la portion d'application exécutée par ce thread ;  for a given thread, among all the threads running, a modification of the height and / or of the shape of the multidimensional representation of this thread according to the processing load associated with the application or the portion of application executed by this thread;
pour un thread donné, parmi l'ensemble des threads en cours d'exécution, une modification de la couleur de la représentation multidimensionnelle de ce thread en fonction de la charge de traitement associée à l'application ou à la portion d'application exécutée par ce thread ;  for a given thread, among all the threads running, a modification of the color of the multidimensional representation of this thread according to the processing load associated with the application or with the portion of application executed by this thread;
pour un thread donné, parmi l'ensemble des threads en cours d'exécution, une modification de la couleur de la représentation multidimensionnelle de ce thread en fonction de l'état de ce thread (état actif, inactif, en attente, en défaut, etc.) ;  for a given thread, among all the threads currently running, a change in the color of the multidimensional representation of this thread according to the state of this thread (active, inactive, pending, faulty state, etc.);
pour une ressource donnée, parmi l'ensemble des ressources en cours d'utilisation, une modification de la couleur de la représentation multidimensionnelle de cette ressource en fonction de la charge de traitement associée à l'application ou à la portion d'application exécutée par au moins un thread sur ladite ressource ; for a given resource, among all the resources in use, a modification of the color of the multidimensional representation of this resource in function of the processing load associated with the application or with the portion of application executed by at least one thread on said resource;
pour une ressource donnée, parmi l'ensemble des ressources en cours d'utilisation, une modification de la couleur de la représentation multidimensionnelle de cette ressource en fonction de l'état de cette ressource (état actif, inactif, en attente, en défaut, etc.) ;  for a given resource, among all the resources in use, a modification of the color of the multidimensional representation of this resource as a function of the state of this resource (active, inactive, pending, faulty state, etc.);
pour un nœud donné, parmi l'ensemble des nœuds en cours d'utilisation, une modification de la couleur de la représentation multidimensionnelle de ce nœud en fonction de la charge de traitement associée à l'application ou à la portion d'application exécutée par au moins un thread sur une ressource associée à ce nœud ;  for a given node, among all the nodes in use, a modification of the color of the multidimensional representation of this node as a function of the processing load associated with the application or with the portion of application executed by at least one thread on a resource associated with this node;
pour un nœud donné, parmi l'ensemble des nœuds en cours d'utilisation, une modification de la couleur de la représentation multidimensionnelle de ce nœud en fonction de l'état de ce nœud (état actif, inactif, en attente, en défaut, etc.) ;  for a given node, among all the nodes in use, a modification of the color of the multidimensional representation of this node according to the state of this node (active, inactive, pending, faulty state, etc.);
Outre les modifications liées à la réception de données d'état ou d'exécution en provenance des nœuds/ressources/thread, la représentation graphique est également modifiable pour un utilisateur visualisant cette représentation sur l'écran du dispositif connecté au master. Les modifications de représentations liées à la manipulation effectuée par ou pour l'utilisateur comprennent notamment : la sélection, d'un nœud (cluster) parmi l'ensemble des nœuds disponibles ; cette action a pour conséquence de provoquer l'affichage d'un certain nombre d'informations se rapportant au nœud sélectionné, comme par exemple l'identifiant du nœud, son type, le nombre de ressources et/ou de thread dont le nœud se compose, le nombre de ressources utilisées et/ou de thread en cours d'exécution, la charge de traitement du nœud (mémoire, CPU, etc.)  In addition to the modifications linked to the reception of status or execution data from the nodes / resources / thread, the graphic representation is also modifiable for a user viewing this representation on the screen of the device connected to the master. The modifications of representations linked to the manipulation carried out by or for the user include in particular: the selection of a node (cluster) among all of the available nodes; this action results in the display of a certain amount of information relating to the selected node, such as for example the identifier of the node, its type, the number of resources and / or thread of which the node is composed , the number of resources used and / or thread running, the processing load of the node (memory, CPU, etc.)
la sélection d'une ressource parmi l'ensemble des ressources disponibles ; cette action a pour conséquence de provoquer l'affichage d'un certain nombre d'informations se rapportant à la ressource sélectionnée, comme par exemple l'identifiant de la ressource, son type, le nombre de thread associée à cette ressource, le nombre de thread en cours d'exécution, la charge de traitement de la ressource (mémoire, CPU, etc.)  the selection of a resource from the set of available resources; this action results in the display of a certain amount of information relating to the selected resource, such as for example the identifier of the resource, its type, the number of threads associated with this resource, the number of running thread, resource processing load (memory, CPU, etc.)
la sélection, d'un thread parmi l'ensemble des threads disponibles ; cette action a pour conséquence de provoquer l'affichage d'un certain nombre d'informations se rapportant au thread sélectionné, comme par exemple l'identifiant du thread, son type, la charge de traitement sur la ressource (mémoire, CPU, etc.) l'utilisation d'une commande de zoom avant ou de zoom arrière de la représentation ; cette action a pour conséquence de provoquer, par le master ou par une application de visualisation, un affichage plus ou moins étendu (selon la commande utilisée), the selection of a thread from the set of available threads; this action results in the display of a certain amount of information relating to the selected thread, such as for example the identifier of the thread, its type, the processing load on the resource (memory, CPU, etc. ) the use of a zoom in or zoom out command of the representation; the consequence of this action is to cause, by the master or by a visualization application, a more or less extensive display (depending on the command used),
l'utilisation d'une commande de rotation, translation, déplacement de la représentation.  the use of a command for rotation, translation, displacement of the representation.
Les modifications peuvent être mises en œuvre de manière automatique ou manuelle (par l'utilisateur lui-même. Cependant, le caractère automatique de la modification est privilégié lorsqu'un évènement de type « erreur » (blocage/abandon/echec) survient. L'application de visualisation qui gère la représentation dispose d'une structure de données représentant les ressources qui sont affichées (appelée structure de données d'affichage) à l'écran (et leur position sur l'écran) et une structure de données représentant l'ensemble des ressources (ces caractéristiques sont précisées par la suite). Lorsqu'un évènement reçu se rapporte à une ressource qui n'est pas affichée à l'écran ou qui n'est totalement visible ou encore une ressource qui n'est pas totalement centrée, alors l'application de visualisation effectue une ou plusieurs des actions précédemment mentionnées, pour le compte de l'utilisateur (c'est-à-dire en mode automatisé) afin de permettre à celui-ci de visualiser la ressource impactée de manière plus aisée.  The modifications can be implemented automatically or manually (by the user himself. However, the automatic character of the modification is privileged when an event of type "error" (blocking / abort / failure) occurs. visualization application which manages the representation has a data structure representing the resources which are displayed (called display data structure) on the screen (and their position on the screen) and a data structure representing the all resources (these characteristics are specified below) When an event received relates to a resource which is not displayed on the screen or which is not fully visible or a resource which is not fully centered, then the viewing application performs one or more of the actions mentioned above, on behalf of the user (i.e. in automated mode) in order to allow c it is easier to visualize the impacted resource.
Afin de faciliter l'administration des ressources (physiques ou virtuelles), nœuds (nodes) ou processus (thread), selon l'invention, des manipulations peuvent automatiquement être effectuées en fonction de la survenance d'évènements préalablement déterminés (défauts, modifications d'état, modifications de charge, etc). Par exemple, en cas de défaut sur une ressource, un nœud ou un processus, l'application mise en œuvre par le master et/ou par le terminal de visualisation connecté au master effectue un déplacement automatique vers la ressource, le nœud ou le processus en question pour le placer l'élément en défaut au centre de la vision de l'utilisateur, selon des paramètres de visualisation prédéterminés (en termes de zoom, de taille, de couleur, etc.). Astucieusement, ce déplacement peut s'accompagner, selon les modes de réalisation, d'une sélection automatique de cet élément afin de permettre l'affichage de ses propriétés. Dans un mode de réalisation particulier, des modifications de l'apparence de l'élément sélectionné (forme, couleur) peuvent également être mises en œuvre pour permettre son identification plus rapide par l'utilisateur (l'opérateur) et in fine permettre à celui-ci de réagir plus promptement lorsque des actions sont requises de sa part. Les modifications d'apparence peuvent comprendre toute modification de taille, couleur, forme, voir l'adjonction d'une animation. L'objectif étant de permette à l'opérateur d'identifier rapidement l'élément qui mérite l'attention afin d'exercer si possible les actions nécessaires. Les traitements mis en œuvre par le master pour modifier l'affichage en fonction des actions de l'utilisateur permettent à celui-ci de vérifier le fonctionnement et/ou l'exécution des nœuds/ressources/thread en fonctionnement lors de l'exécution d'une ou de plusieurs applications et ce de manière simple et intuitive. En effet, contrairement aux méthodes utilisées traditionnellement dans les centres de données, l'affichage produit par l'invention permet de localiser rapidement une anomalie de fonctionnement tout en dimensionnant l'architecture de manière optimale par rapport aux besoins. Plus particulièrement, après une phase d'initialisation, dans laquelle la représentation de l'ensemble des ressources/nœuds/thread est initialement dessinée (affichée), les modifications apportées à la représentation sont effectuées en faisant part, au terminal de communication (comprenant par exemple un navigateur) en transmettant des commandes (et/ou des requêtes) qui font part de modifications événementielles (i.e. évènement et données relatives à ces évènements), liées à un ou plusieurs ressources/nœuds/thread du master vers le terminal de communication. In order to facilitate the administration of resources (physical or virtual), nodes (nodes) or processes (thread), according to the invention, manipulations can automatically be carried out depending on the occurrence of previously determined events (faults, modifications of 'condition, load changes, etc.). For example, in the event of a fault on a resource, a node or a process, the application implemented by the master and / or by the display terminal connected to the master performs an automatic movement to the resource, node or process in question to place the faulty element at the center of the user's vision, according to predetermined viewing parameters (in terms of zoom, size, color, etc.). Cleverly, this displacement can be accompanied, according to the embodiments, by an automatic selection of this element in order to allow the display of its properties. In a particular embodiment, modifications to the appearance of the selected element (shape, color) can also be implemented to allow its faster identification by the user (the operator) and ultimately allow the user - to react more quickly when actions are required from him. Changes in appearance may include any change in size, color, shape, or even the addition of an animation. The objective is to allow the operator to quickly identify the element that deserves attention in order to exercise the necessary actions if possible. The processing operations implemented by the master to modify the display according to the actions of the user allow the latter to check the operation and / or the execution of the nodes / resources / thread in operation during the execution of one or more applications in a simple and intuitive way. In fact, unlike the methods traditionally used in data centers, the display produced by the invention makes it possible to quickly locate an operating anomaly while sizing the architecture optimally in relation to needs. More particularly, after an initialization phase, in which the representation of all the resources / nodes / thread is initially drawn (displayed), the modifications made to the representation are made by communicating, to the communication terminal (comprising by example a browser) by transmitting commands (and / or requests) which communicate event modifications (ie event and data relating to these events), linked to one or more resources / nodes / thread from the master to the communication terminal.
Les figure 3 à 5 exposent, pour un mode de réalisation donné, la représentation visuelle en trois dimensions (tridimensionnelle) laquelle évolue au cours du temps (on obtient au final une représentation quadridimensionnelle (x,y,z,t)), obtenue pour différents états et différents angles de vue. Dans ce mode de réalisation, une représentation hexagonale est adoptée pour chaque thread. Une autre forme pourrait tout autant être mise en œuvre. Les représentations des threads sont positionnées sur un plan, qui peut avoir une taille prédéterminée. Ce plan constitue la représentation de base sur laquelle les autres représentations (thread, ressources, nœuds) sont affichées et mises à jour. Dans cette représentation, les nœuds et les threads différents ont tous la même couleur. Pour des questions de facilité de prise en charge et de sélection, il pourrait être envisagé de donner des couleurs différentes aux threads d'un nœud donnée, lors de la sélection d'un thread de ce nœud.  Figures 3 to 5 show, for a given embodiment, the three-dimensional (three-dimensional) visual representation which changes over time (in the end, a four-dimensional representation (x, y, z, t)) is obtained, obtained for different states and different viewing angles. In this embodiment, a hexagonal representation is adopted for each thread. Another form could just as easily be implemented. The representations of the threads are positioned on a plane, which can have a predetermined size. This plan constitutes the basic representation on which the other representations (thread, resources, nodes) are displayed and updated. In this representation, the different nodes and threads all have the same color. For reasons of ease of support and selection, it could be envisaged to give different colors to the threads of a given node, when selecting a thread for this node.
La figure 2 est une représentation de deux nœuds, comprenant à eux deux cinquante-huit threads (illustrés par le mot flow sur la copie d'écran), l'ensemble se trouvant dans un état inactif. Chaque thread est représenté par un même hexagone tridimensionnel, d'une hauteur et d'une couleur uniforme. Comme indiqué en partie gauche de l'écran, aucun job ne tourne et l'état du système est inactif. On visualise par ailleurs à l'écran un ensemble d'hexagones "vides", c'est à dire une représentation de l'ensemble des threads qu'il serait possible d'instancier dans le système. En partie droite de l'écran, un état général du système est représenté, comprenant notamment le nombre de nœuds, le nombre de threads, un état général d'utilisation de la ressource et une indication de pression exercé sur le système (représentant le nombre de nombre de travaux en attente). La figure 3 est une représentation des deux mêmes nœuds qu'en figure 2, comprenant à eux deux cinquante-huit threads (illustrés par le mot flow sur la copie d'écran), l'ensemble se trouvant dans un état actif. Plus particulièrement, cinquante threads sont dans un état actif (threads de couleur bleue et rouge) et huit threads sont dans un état inactif (comme dans la figure 2). Les threads de couleur bleue ont une hauteur supérieure à celle des threads de couleur rouge et noire. Ils indiquent qu'une tâche (un job) est en cours d'exécution sur le thread). La hauteur de la représentation varie en fonction de la charge, une charge élevée entraînant une hauteur élevée. Comme indiqué sur la figure, il y a quarante tâches (portions d'applications) en cours d'exécution sur la copie d'écran (num running flow = 40), tandis que le nœud comprend cinquante thread (num flow= 50). L'identifiant du nœud est inscrit en haut à gauche (node id). Les informations d'usage et de charge sont également présentes pour ce nœud. Les threads représentés en rouge sont ceux pour lesquels une défaillance se produit (il peut s'agir d'une défaillance matérielle ou logicielle). N'étant pas en exécution, la hauteur de la représentation de ces threads défaillant est inférieure à celle des threads en cours d'exécution. Une sélection d'un thread défaillant permet d'obtenir de l'information sur l'état du thread (et donc de la ressource) et de déterminer ou de constater l'origine de la défaillance rencontrée. Figure 2 is a representation of two nodes, comprising between them fifty-eight threads (illustrated by the word flow on the screenshot), the whole being in an inactive state. Each thread is represented by the same three-dimensional hexagon, of uniform height and color. As indicated in the left part of the screen, no job is running and the system state is inactive. We also visualize on the screen a set of "empty" hexagons, ie a representation of all the threads that it would be possible to instantiate in the system. In the right part of the screen, a general state of the system is represented, comprising in particular the number of nodes, the number of threads, a general state of use of the resource and an indication of pressure exerted on the system (representing the number number of jobs pending). FIG. 3 is a representation of the same two nodes as in FIG. 2, comprising between them two fifty-eight threads (illustrated by the word flow on the screenshot), the assembly being in an active state. More specifically, fifty threads are in an active state (blue and red colored threads) and eight threads are in an inactive state (as in Figure 2). The blue threads have a higher height than the red and black threads. They indicate that a task (a job) is running on the thread). The height of the representation varies according to the load, a high load resulting in a high height. As shown in the figure, there are forty tasks (portions of applications) running on the screenshot (num running flow = 40), while the node has fifty threads (num flow = 50). The node identifier is listed at the top left (node id). Usage and load information is also present for this node. The threads shown in red are those for which a failure occurs (it can be a hardware or software failure). Not being in execution, the height of the representation of these failing threads is lower than that of the threads in execution. A selection of a failing thread makes it possible to obtain information on the state of the thread (and therefore of the resource) and to determine or determine the origin of the failure encountered.
La figure 4 représente les mêmes nœuds et thread que dans la figure 3, à la différence d'une part que la représentation fait l'objet d'une rotation par l'utilisateur et d'autre part que le nombre de threads pour lesquels une tâche est en cours d'exécution n'est plus égal qu'à seize (num running flows = 16), les autres threads ayant terminé l'exécution des portions d'applications qu'ils exécutaient. Ils sont donc redevenus de couleur noire et leur hauteur a été ajustée en fonction de leur nouvel état.  FIG. 4 represents the same nodes and thread as in FIG. 3, on the one hand that the representation is rotated by the user and on the other hand that the number of threads for which a task is running is no longer equal to sixteen (num running flows = 16), the other threads having finished executing the portions of applications that they were running. They are therefore again black and their height has been adjusted according to their new condition.
Grâce à la mise en œuvre de la technique décrite ici, il est plus aisé, pour un gestionnaire de ressource (par exemple un opérateur assigné à la gestion des ressources) de constater rapidement et efficacement de l'état des ressources d'un système donné, avec ou sans exécution d'applications ou de portions d'applications, et ce sans qu'il soit nécessaire de rechercher dans une simple liste ou sans qu'il soit nécessaire de hiérarchiser les ressources pour permettre un suivi de celles-ci.  Thanks to the implementation of the technique described here, it is easier for a resource manager (for example an operator assigned to resource management) to quickly and efficiently observe the state of resources of a given system , with or without execution of applications or portions of applications, without the need to search through a simple list or without the need to prioritize resources to allow monitoring of these.
Afin d'illustrer une implémentation particulière, nous présentons ci-dessous un exemple de décodage de requête émises par un master vers un navigateur (type Firefox™, etc.) en charge de restituer l'interface précédemment illustrée. Dans cette implémentation, le master s'exécute sur un serveur et communique via une « socket » dédiée des requêtes avec un navigateur afin que ce dernier affiche la représentation d'un cluster en temps-réel.  In order to illustrate a particular implementation, we present below an example of decoding requests sent by a master to a browser (Firefox ™ type, etc.) in charge of rendering the interface previously illustrated. In this implementation, the master runs on a server and communicates via a dedicated "socket" requests with a browser so that the latter displays the representation of a cluster in real time.
Le format d'échange de données est dans ce cas un format JSON adapté à ces échanges. Pour matérialiser l'état d'un cluster, le master défini une structure de donnée « metrics ». Cette structure est composée de « nodes » représentant une ressource informatique. Un « node » (nœud) est représenté par un identifiant « id » et possède un « load » (charge) représentant la charge de la ressource, d'un « State » (état) représentant l'état de la ressource et d'une autre structure « flows » (flux) représentant les différents threads associés à cette ressource. Chaque « flow » possède son identifiant « Id » ainsi qu'un « State » représentant son état (« run » ou « wait » dans ce cas). The data exchange format is in this case a JSON format suitable for these exchanges. To materialize the state of a cluster, the master defines a “metrics” data structure. This structure is made up of “nodes” representing an IT resource. A “node” is represented by an identifier “id” and has a “load” representing the load of the resource, a “State” representing the state of the resource and another flow structure representing the different threads associated with this resource. Each “flow” has its identifier “Id” as well as a “State” representing its state (“run” or “wait” in this case).
À titre d'exemple, voici une structure « metrics » utilisée dans cette implémentation. metrics = {  As an example, here is a "metrics" structure used in this implementation. metrics = {
nodes : {  nodes: {
'nodeldl' : {  'nodeldl': {
load: 10,  load: 10,
State : ' ok' ,  State: 'ok',
flows: {  flows: {
' flowldl ' : {  'flowldl': {
State : 'run'  State: 'run'
} ,  },
' flowId2 ' : {  'flowId2': {
State : 'wait'  State: 'wait'
} ,  },
' flowId3' : {  'flowId3': {
State : 'wait'  State: 'wait'
} ,  },
' flowId4 ' : {  'flowId4': {
State : 'wait'  State: 'wait'
}  }
Grâce à cette structure de donnée, l'application de visualisation (également appelée interface de visualisation) qui s'exécute dans le browser est à même de produire une représentation initiale de l'état d'un cluster. Thanks to this data structure, the visualization application (also called visualization interface) which runs in the browser is able to produce an initial representation of the state of a cluster.
Afin d'initialiser la visualisation le « master » transmet via une requête « setMetrics », l'état inital du cluster. Au sein de cette requête, « req. metrics » comprend la version de « metrics » à initialiser. Pour ce faire le navigateur réalise l'appel « new ClusterMetrics » qui permet de créer la structure de donnée « metrics » initiale et de mettre à jour la visualisation initiale du cluster sur l'interface.  In order to initialize the display, the “master” transmits via a “setMetrics” request, the initial state of the cluster. Within this request, "req. metrics ”includes the version of“ metrics ”to initialize. To do this, the browser performs the call “new ClusterMetrics” which creates the initial “metrics” data structure and updates the initial visualization of the cluster on the interface.
Ensuite, le master transmet des requêtes lors de modifications d'état du cluster (pour des évènements se produisant sur le cluster). Astucieusement, les évènements transmis pour être représentés peuvent être « filtrés », par un composant de traitement d'évènements, comme cela est exposé par la suite. Comme indiqué précédemment dans cet exemple « Node » représente une ressource, « Job » représente un thread. Il existe ainsi un appel de fonction pour ajouter une ressource « addNode », ou la supprimer « removeNode », ou mettre son état de charge à jour « setNodeLoad » ou mettre son état (marche/erreur/suspendu,...) à jour « setNodeState ». Then, the master transmits requests when the state of the cluster changes (for events occurring on the cluster). Cleverly, the events transmitted to be represented can be "filtered", by an event processing component, as described below. As indicated previously in this example "Node" represents a resource, "Job" represents a thread. There is thus a function call to add a resource "AddNode", or delete it "removeNode", or update its charge state "setNodeLoad" or update its state (on / error / suspended, ...) update "setNodeState".
Dans cette implémentation la requête « addNode » indique l'identifiant associé à cette ressource (« nodeld »), ainsi qu'une structure « flows » qui comprend les identifiants (Ids) de chaque thread de la ressource. Afin de mettre à jour l'état des threads, le master transmet des requêtes « jobRun » pour indiquer qu'un job s'exécute ou « jobDone » pour indiquer que le thread attend.  In this implementation, the "addNode" request indicates the identifier associated with this resource ("nodeld"), as well as a "flows" structure which includes the identifiers (Ids) of each thread of the resource. In order to update the state of the threads, the master transmits "jobRun" requests to indicate that a job is executing or "jobDone" to indicate that the thread is waiting.
Lors de chacun de ces appels, l'interface de visualisation est mise en jour par le navigateur et représente ainsi une vue temps-réel de l'état d'un cluster donné. L'avantage d'une telle implémentation est de limiter les échanges de données entre le master et le navigateur : en effet, une fois l'initialisation effectuée et la première représentation affichée par le navigateur, la quantité de données échangées entre le master et le navigateur est faible et se limite aux changements traités par le master et transmis au navigateur. Cela assure par ailleurs une plus grande réactivité du navigateur.  During each of these calls, the visualization interface is updated by the browser and thus represents a real-time view of the state of a given cluster. The advantage of such an implementation is to limit the exchange of data between the master and the browser: in fact, once the initialization has been carried out and the first representation displayed by the browser, the amount of data exchanged between the master and the browser is weak and is limited to the changes processed by the master and transmitted to the browser. This also ensures greater responsiveness of the browser.
Dans ce mode de réalisation, autant l'appel de « addNode » ou « removeNode » est fait concomitamment lors de l'ajout ou de la suppression d'une ressource, tout comme « jobRun » ou « jobDone » pour un thread, autant les appels « setNodeLoad » ou « setNodeState » sont mis à jour à des périodes indéterminées en fonction de la configuration/et ou des traitements du master. Par exemple si le master traite des informations de charge des processeurs d'un ordinateur toute les minutes, l'appel « setNodeLoad » ne se fera que toute les minutes au minimum. Lorsque le master traite ses informations de charge des processeurs d'un ordinateur toute les secondes, il pourrait réaliser des requêtes « setNodeLoad » à chaque seconde. Le master possède cependant lui-même un composant de traitement d'évènements qui permet de décider de la fréquence de transmission des données au navigateur afin d'une part de ne pas surcharger celui-ci et d'autre part de prendre en compte les évolutions réelles et représentatives des charges ou autres évènements. Dans le cas précédent, le composant de traitement d'évènements peut déterminer qu'une mise à jour moins fréquente que la seconde est suffisante pour refléter la charge des processeurs et ne réaliser un appel à « setNodeLoad » que toutes les 10 secondes afin de limiter le trafic des requêtes sur le réseau. La valeur de charge transmise peut alors avantageusement être une moyenne des valeurs traitées par le master. Le master (composant de traitement d'évènements) est donc responsable, selon une politique prédéterminée, de la fréquence de ces requêtes « setNodeLoad » ou « setNodeState » (et d'une manière générale de la fréquence des évènements transmis, tout comme des valeurs associées à ces évènements, qui peuvent donc être représentatives de la situation d'un ou de plusieurs évènements, sans nécessairement être exactes). Cette manière de procéder assure que la représentation du cluster peut être affichées (et être exécutée) sur des terminaux de communications qui ne possèdent pas nécessairement une puissance de calcul et/ou de traitement et/ou une bande passante suffisante pour un traitement intensif. Cela permet par ailleurs d'éliminer des évènements non pertinents, comme par exemple des baisses ou augmentations de charge non significatives et/ou de ne pas afficher de comportements divergents (c'est- à-dire sans lien avec l'activité réelle). switch (req. action) { In this embodiment, the call to “addNode” or “removeNode” is made simultaneously when adding or removing a resource, just like “jobRun” or “jobDone” for a thread, as many "setNodeLoad" or "setNodeState" calls are updated at indefinite periods depending on the configuration and / or the master's treatments. For example if the master processes the load information of the processors of a computer every minute, the call "setNodeLoad" will be made only every minute at least. When the master processes its load information from the processors of a computer every second, it could make "setNodeLoad" requests every second. The master, however, itself has an event processing component which makes it possible to decide on the frequency of transmission of data to the browser in order on the one hand not to overload the latter and on the other hand to take into account the evolutions real and representative of charges or other events. In the previous case, the event processing component can determine that an update less frequent than the second is sufficient to reflect the load of the processors and make a call to "setNodeLoad" only every 10 seconds in order to limit request traffic on the network. The transmitted load value can then advantageously be an average of the values processed by the master. The master (event processing component) is therefore responsible, according to a predetermined policy, for the frequency of these "setNodeLoad" or "setNodeState" requests (and in general for the frequency of events transmitted, as well as values associated with these events, which can therefore be representative of the situation of one or more events, without necessarily being exact). This procedure ensures that the cluster representation can be displayed (and be executed) on communication terminals which do not necessarily have sufficient computing and / or processing power and / or bandwidth for intensive processing. This also makes it possible to eliminate irrelevant events, such as, for example, insignificant load decreases or increases and / or not to display divergent behaviors (that is to say unrelated to actual activity). switch (action required) {
// Initialisation de la vue  // Initialize the view
case ' setMetrics ' :  'setMetrics' box:
metrics = new ClusterMetrics (req .metrics ) ;  metrics = new ClusterMetrics (req .metrics);
break;  break;
// Gestion d'une ressource ou Nodes  // Resource management or Nodes
// Ajout, suppression, changement d'état ou charge  // Add, delete, change of state or charge
case ' addNode ' :  'addNode' box:
metrics . addNode (req. nodeld, req. flows) ;  metrics. addNode (req. nodeld, req. flows);
break;  break;
case ' setNodeLoad ' :  'setNodeLoad' box:
showNodeLoad (req . load) ;  showNodeLoad (req. load);
break;  break;
case ' setNodeState ' :  'setNodeState' box:
showNodeState ( req . State ) ;  showNodeState (req. State);
break;  break;
case ' removeNode ' :  'removeNode' box:
metrics . removeNode (req . nodeld) ;  metrics. removeNode (req. nodeld);
break;  break;
// Gestion d'une thread (job) pour une ressource donnée  // Management of a thread (job) for a given resource
// Ajout ou suppression d'un job sur un node  // Add or delete a job on a node
case ' j obRun ' :  box 'j obRun':
metrics. 'jobRun' (req. nodeld, req.flowld) ;  metrics. 'jobRun' (req. nodeld, req.flowld);
break;  break;
case ' j obDone ' :  box 'j obDone':
metrics . j obDone (req. nodeld, req. flowld) ;  metrics. j obDone (req. nodeld, req. flowld);
break;  break;
}  }
Comme indiqué précédemment, à partir de cette structure de donnée « metrics », le navigateur permet de produire une visualisation d'un cluster. Par exemple cette dernière peut être construite au- dessus d'une interface 3D qui permet de prendre en charge la sélection, le zoom et autres manipulations des différents éléments, comme en figures 3 à 5.  As indicated above, from this “metrics” data structure, the browser allows you to produce a visualization of a cluster. For example the latter can be built on top of a 3D interface which makes it possible to support the selection, the zoom and other manipulations of the different elements, as in Figures 3 to 5.
Dans un mode de réalisation, complémentaire, l'application de visualisation génère, à réception, une structure de données d'affichage, qui pour chaque nœud (« node ») comprend des coordonnées d'affichage de ce nœud. Lorsqu'un nœud n'a pas de coordonnées d'affichage, soit il n'est pas dans la structure d'affichage ou alternativement il a des coordonnées non valorisées. La structure de données d'affichage peut être mise à jour en fonction des manipulations effectuées manuellement par l'utilisateur. Ce mode de réalisation complémentaire présente l'avantage de faciliter la visualisation des ressources pour lesquelles un évènement (par exemple une erreur) se produit. Concrètement, la structure de données d'affichage est créée par l'application de visualisation et comprend au moins une paire de coordonnées d'affichage pour charque nœud (ressource) affichée à l'écran, ainsi que l'identifiant de ce nœud. Cette structure de données est maintenue (modifiée) en temps réel en fonctions des manipulations de l'utilisateur notamment. Pour que ces modifications soient simple, un système de coordonnées simple (x,y) est préféré. Les translations, rotation zoom et dezoom manuels de l'utilisateur sont alors plus simple à répercuter sur la structure de données. Lorsqu'un évènement survient sur un nœud (une ressource), l'application de visualisation recherche si ce nœud est présent au sein de la structure de données d'affichage et s'il est présent, quelles sont ses coordonnées. Lorsque la ressource est « suffisamment » visible (le critère de suffisance pouvant être calculé de plusieurs manières différentes, notamment par rapport au centre de l'écran (i.e. distance « seuil » séparant l'affichage de la ressource par rapport au centre de l'écran)), alors aucune action n'est menée. Lorsque la ressource n'est pas suffisamment visible (voir non affichée), alors une ou plusieurs actions (rotation, homothétie, translation, zoom/dezoom) sont mises en œuvre par l'application de visualisation pour rendre la ressource visible (par rapport au seuil précédemment défini par exemple). Les coordonnées des ressources impactées sont mises à jour dans la structure d'affichage pour permettre la mise en œuvre automatique de ces actions. Par ailleurs, une action de sélection de la ressource (provoquant l'ouverture d'une fenêtre des propriétés de celle-ci) peut également être mise en œuvre. Ainsi, l'utilisateur est assuré d'être informé des évènements jugés importants (ceci étant bien sur paramétrables), même avec de très grandes quantités de ressources à gérer. In a complementary embodiment, the display application generates, on reception, a display data structure, which for each node ("node") comprises display coordinates of this node. When a node has no display coordinates, either it is not in the display structure or alternatively it has non-valued coordinates. The display data structure can be updated according to the operations performed manually by the user. This additional embodiment has the advantage of facilitating the visualization of the resources for which an event (for example an error) occurs. Concretely, the display data structure is created by the visualization application and includes at least one pair of display coordinates for each node (resource) displayed on the screen, as well as the identifier of this node. This data structure is maintained (modified) in real time depending on the user's manipulations in particular. For these modifications to be simple, a simple coordinate system (x, y) is preferred. Manual translations, zoom rotation and dezoom are then easier to pass on to the data structure. When an event occurs on a node (a resource), the visualization application searches if this node is present within the display data structure and if it is present, what are its coordinates. When the resource is "sufficiently" visible (the sufficiency criterion can be calculated in several different ways, in particular with respect to the center of the screen (ie distance "threshold" separating the display of the resource from the center of the screen)), then no action is taken. When the resource is not sufficiently visible (see not displayed), then one or more actions (rotation, homothety, translation, zoom / dezoom) are implemented by the visualization application to make the resource visible (compared to the previously defined threshold for example). The coordinates of the impacted resources are updated in the display structure to allow the automatic implementation of these actions. In addition, an action of selecting the resource (causing the opening of a window of its properties) can also be implemented. Thus, the user is guaranteed to be informed of events deemed important (this being of course configurable), even with very large amounts of resources to manage.
5.2. Autres caractéristiques et avantages  5.2. Other features and benefits
Dans au moins certains modes de réalisation, un serveur qui implémente une partie ou la totalité d'une ou plusieurs des technologies décrites ici, y compris les techniques pour implémenter les serveurs de configuration réseau, les gestionnaires de services de configuration réseau, les serveurs de visualisation de topologie et / ou les hôtes d'instance, peut: comprend un système informatique à usage général qui comprend ou est configuré pour accéder à un ou plusieurs supports accessibles par ordinateur. La figure 6 illustre un tel dispositif informatique à usage général 3000. Dans le mode de réalisation illustré, le dispositif informatique 3000 comprend un ou plusieurs processeurs 3010 couplés à une mémoire système 3020 via une interface d'entrée/sortie 3030. Le dispositif informatique 3000 comprend en outre interface réseau 3040 couplée à l'interface d'entrée/sortie 3030.  In at least some embodiments, a server that implements some or all of one or more of the technologies described here, including techniques for implementing network configuration servers, network configuration service managers, viewing topology and / or instance hosts, may: include a general purpose computer system that includes or is configured to access one or more media accessible by computer. FIG. 6 illustrates such a general-purpose computing device 3000. In the illustrated embodiment, the computing device 3000 comprises one or more processors 3010 coupled to a system memory 3020 via an input / output interface 3030. The computing device 3000 further includes network interface 3040 coupled to the input / output interface 3030.
Dans divers modes de réalisation, le dispositif informatique 3000 peut être un système à un seul processeur comprenant un processeur 3010 ou un système à plusieurs processeurs comprenant plusieurs processeurs 3010 (par exemple deux, quatre, huit ou un autre nombre approprié). Les processeurs 3010 peuvent être n'importe quels processeurs appropriés capables d'exécuter des instructions. Par exemple, dans divers modes de réalisation, les processeurs 3010 peuvent être des processeurs à usage général ou embarqués mettant en œuvre l'une quelconque d'une variété d'architectures de jeux d'instructions (ISA), telles que les ISA x86, PowerPC, SPARC ou MIPS, ou tout autre ISA approprié. Dans les systèmes multiprocesseurs, chacun des processeurs 3010 peut généralement, mais pas nécessairement, mettre en œuvre le même ISA. Dans certaines mises en œuvre, des unités de traitement graphique (GPU) peuvent être utilisées à la place des processeurs classiques ou en plus de ceux-ci. In various embodiments, the computing device 3000 may be a single processor system comprising a processor 3010 or a multi-processor system comprising multiple processors 3010 (for example two, four, eight or some other suitable number). 3010 processors can be any suitable processors capable of running instructions. For example, in various embodiments, processors 3010 can be general purpose or embedded processors implementing any of a variety of instruction set architectures (ISAs), such as ISA x86, PowerPC, SPARC or MIPS, or any other appropriate ISA. In multiprocessor systems, each of the processors 3010 can generally, but not necessarily, implement the same ISA. In some implementations, graphics processing units (GPUs) can be used in place of or in addition to conventional processors.
La mémoire système 3020 peut être configurée pour stocker des instructions et des données accessibles au (x) processeur (s) 3010. Dans divers modes de réalisation, la mémoire système 3020 peut être mise en œuvre en utilisant toute technologie de mémoire appropriée, telle qu'une mémoire vive statique (SRAM), une RAM dynamique synchrone (SDRAM).), mémoire non volatile / de type Flash ou tout autre type de mémoire. Dans le mode de réalisation illustré, les instructions de programme et les données mettant en œuvre une ou plusieurs fonctions souhaitées, telles que les procédés, techniques et données décrites ci-dessus, sont stockées dans la mémoire système 3020 sous la forme de code 3025 et de données 3026.  System memory 3020 can be configured to store instructions and data accessible to processor (s) 3010. In various embodiments, system memory 3020 can be implemented using any suitable memory technology, such as '' static random access memory (SRAM), synchronous dynamic RAM (SDRAM).), non-volatile / Flash memory or any other type of memory. In the illustrated embodiment, the program instructions and the data implementing one or more desired functions, such as the methods, techniques and data described above, are stored in the system memory 3020 in the form of code 3025 and 3026.
Dans un mode de réalisation, l'interface d'E/S 3030 peut être configurée pour coordonner le trafic d'entrée/sortie entre le processeur 3010, la mémoire système 3020 et tous les périphériques du dispositif, y compris l'interface réseau 3040 ou d'autres interfaces périphériques telles que divers types de données persistantes et / ou similaire ou des dispositifs de stockage volatils utilisés pour stocker des réplicas physiques de partitions d'objet de données. Dans certains modes de réalisation, l'interface E/S 3030 peut effectuer tout protocole nécessaire, toute synchronisation ou toute autre transformation de données pour convertir les signaux de données d'un composant (par exemple, la mémoire système 3020) en un format approprié pour être utilisé par un autre composant (par exemple, le processeur 3010). Dans certains modes de réalisation, l'interface d'entrée/sortie 3030 peut inclure la prise en charge de périphériques connectés via divers types de bus de périphériques, tels qu'une variante du standard de bus PCI (« Peripheral Component Interconnect ») ou du standard USB (« Universal Serial Bus »), par exemple. Dans certains modes de réalisation, la fonction de l'interface d'E/S 3030 peut être scindée en deux composants séparés ou plus, tels qu'un pont nord et un pont sud, par exemple. De même, dans certains modes de réalisation, une partie ou la totalité de la fonctionnalité de l'interface E/S 3030, telle qu'une interface vers la mémoire système 3020, peut être incorporée directement dans le processeur In one embodiment, the I / O interface 3030 can be configured to coordinate I / O traffic between the processor 3010, system memory 3020, and all devices on the device, including the network interface 3040. or other peripheral interfaces such as various types of persistent data and / or the like or volatile storage devices used to store physical replicas of data object partitions. In some embodiments, the I / O interface 3030 can perform any necessary protocol, synchronization, or other data transformation to convert the data signals of a component (for example, system memory 3020) to an appropriate format. to be used by another component (for example, the 3010 processor). In some embodiments, the I / O interface 3030 may include support for devices connected via various types of device buses, such as a variant of the PCI bus standard ("Peripheral Component Interconnect") or USB standard ("Universal Serial Bus"), for example. In some embodiments, the function of the I / O interface 3030 can be split into two or more separate components, such as a north bridge and a south bridge, for example. Likewise, in some embodiments, some or all of the functionality of the I / O interface 3030, such as an interface to system memory 3020, can be incorporated directly into the processor.
3010. L'interface réseau 3040 peut être configurée pour permettre l'échange de données entre le dispositif informatique 3000 et d'autres dispositifs 3060 connectés à un réseau ou à des réseaux 3050, tels que d'autres systèmes ou dispositifs informatiques, comme illustré à la Fig. 1 et 2, par exemple. Dans divers modes de réalisation, l'interface réseau 3040 peut prendre en charge la communication via tout réseau de données général câblé ou sans fil approprié, tel que des types de réseau Ethernet, par exemple. De plus, l'interface réseau 3040 peut prendre en charge la communication via des réseaux de télécommunication / téléphonie tels que des réseaux vocaux analogiques ou des réseaux de communication numériques en fibre, via des réseaux de stockage tels que des réseaux SAN Fibre Channel ou via tout autre type de réseau et / ou protocole approprié. 3010. The network interface 3040 can be configured to allow the exchange of data between the computing device 3000 and other devices 3060 connected to a network or to networks 3050, such as other computer systems or devices, as illustrated in the Fig. 1 and 2, for example. In various embodiments, the network interface 3040 can support communication via any suitable general wired or wireless data network, such as types of Ethernet network, for example. In addition, the network interface 3040 can support communication via telecommunication / telephony networks such as analog voice networks or digital fiber communication networks, via storage networks such as Fiber Channel SANs or via any other type of network and / or appropriate protocol.
Dans certains modes de réalisation, la mémoire système 3020 peut être un mode de réalisation d'un support accessible par ordinateur configuré pour stocker des instructions de programme et des données telles que décrites ci-dessus pour la Fig. 1 à la Fig. 5 pour mettre en œuvre des modes de réalisation des procédés et dispositifs correspondants. Cependant, dans d'autres modes de réalisation, des instructions de programme et / ou des données peuvent être reçues, envoyées ou stockées sur différents types de supports accessibles par ordinateur. De manière générale, un support accessible par ordinateur peut inclure un support de stockage non transitoire ou un support de mémoire tel qu'un support magnétique ou optique, par exemple un disque ou un DVD / CD couplé au dispositif informatique 3000 via une interface d'entrée /sortie 3030. Un ordinateur non transitoire un support de stockage accessible peut également inclure tout support volatile ou non volatile tel que la RAM (par exemple, SDRAM, SDRAM DDR, RDRAM, SRAM, etc.), ROM, etc., pouvant être inclus dans certains modes de réalisation du dispositif informatique 3000 en tant que mémoire système. 3020 ou un autre type de mémoire. En outre, un support accessible par ordinateur peut inclure un support de transmission ou des signaux tels que des signaux électriques, électromagnétiques ou numériques, acheminés via un support de communication tel qu'un réseau et / ou une liaison sans fil, tels qu'ils peuvent être mis en œuvre via l'interface de réseau 3040 ou tous les dispositifs informatiques multiples tels que celui illustré à la Fig. 5 peuvent être utilisés pour mettre en œuvre la fonctionnalité décrite dans divers modes de réalisation; Par exemple, des composants logiciels s'exécutant sur différents périphériques et serveurs peuvent collaborer pour fournir la fonctionnalité. Dans certains modes de réalisation, des parties de la fonctionnalité décrite peuvent être mises en œuvre en utilisant des dispositifs de stockage, des dispositifs réseau ou des systèmes informatiques à usage spécifique, en plus ou au lieu d'être mises en œuvre en utilisant des systèmes informatiques à usage général. Le terme "dispositif informatique", tel qu'utilisé ici, fait référence à au moins tous ces types de dispositifs et n'est pas limité à ces types de dispositifs. In some embodiments, system memory 3020 may be an embodiment of computer-accessible media configured to store program instructions and data as described above for FIG. 1 in FIG. 5 for implementing embodiments of the corresponding methods and devices. However, in other embodiments, program instructions and / or data may be received, sent or stored on different types of media accessible by computer. In general, a computer-accessible medium can include a non-transient storage medium or a memory medium such as a magnetic or optical medium, for example a disc or a DVD / CD coupled to the computing device 3000 via a computer interface. input / output 3030. A non-transient computer an accessible storage medium can also include any volatile or non-volatile medium such as RAM (for example, SDRAM, SDRAM DDR, RDRAM, SRAM, etc.), ROM, etc., which can be included in certain embodiments of the computing device 3000 as system memory. 3020 or another type of memory. In addition, a computer accessible medium may include a transmission medium or signals such as electrical, electromagnetic or digital signals, routed via a communication medium such as a network and / or a wireless link, such as can be implemented via the network interface 3040 or all multiple computing devices such as that illustrated in FIG. 5 can be used to implement the functionality described in various embodiments; For example, software components running on different devices and servers can collaborate to provide functionality. In some embodiments, portions of the functionality described can be implemented using storage devices, network devices, or specific purpose computer systems, in addition to or instead of being implemented using systems general purpose computers. The term "computing device" as as used herein, refers to at least all of these types of devices and is not limited to these types of devices.
Divers modes de réalisation peuvent en outre inclure la réception, l'envoi ou le stockage d'instructions et / ou de données mises en œuvre conformément à la description précédente sur un support accessible par ordinateur. De manière générale, un support accessible par ordinateur peut inclure un support de stockage ou un support de mémoire tel qu'un support magnétique ou optique, par exemple un disque ou un DVD / CD-ROM, un support volatile ou non volatile tel qu'une mémoire vive (SDRAM, DDR, RDRAM, SRAM, etc.). , etc.), ROM, etc., ainsi que des supports de transmission ou des signaux tels que des signaux électriques, électromagnétiques ou numériques, acheminés via un support de communication tel qu'un réseau et / ou une liaison sans fil.  Various embodiments can also include receiving, sending or storing instructions and / or data implemented in accordance with the preceding description on a medium accessible by computer. In general, a computer-accessible medium can include a storage medium or a memory medium such as a magnetic or optical medium, for example a disc or DVD / CD-ROM, a volatile or non-volatile medium such as a random access memory (SDRAM, DDR, RDRAM, SRAM, etc.). , etc.), ROM, etc., as well as transmission media or signals such as electrical, electromagnetic or digital signals, routed via a communication medium such as a network and / or a wireless link.
Les divers procédés illustrés sur les figures et décrits ici représentent des exemples de modes de réalisation de procédés. Les procédés peuvent être mis en œuvre dans un logiciel, du matériel ou une combinaison de ceux-ci. L'ordre de la méthode peut être changé et divers éléments peuvent être ajoutés, réorganisés, combinés, omis, modifiés, etc.  The various methods illustrated in the figures and described here represent examples of embodiments of methods. The methods can be implemented in software, hardware or a combination thereof. The order of the method can be changed and various elements can be added, reorganized, combined, omitted, modified, etc.
Diverses modifications et changements peuvent être apportés, comme cela serait évident pour un homme du métier bénéficiant de cette divulgation. Il est destiné à englober toutes ces modifications et changements et, par conséquent, la description ci-dessus doit être considérée dans un sens illustratif plutôt que restrictif.  Various modifications and changes may be made, as would be obvious to a skilled person benefiting from this disclosure. It is intended to encompass all of these modifications and changes and, therefore, the above description should be considered illustrative rather than restrictive.

Claims

REVENDICATIONS
1. Procédé de traitement de données événementielles, procédé mis en œuvre par un dispositif électronique connecté à un réseau de communication, lesdites données événementielles provenant d'au moins une ressource, ladite au moins une ressource étant connu dudit dispositif électronique et identifiée au sein d'une liste de ressources, ledit procédé comprenant : 1. Method for processing event data, method implemented by an electronic device connected to a communication network, said event data coming from at least one resource, said at least one resource being known to said electronic device and identified within a list of resources, said method comprising:
une étape d'affichage (10), sur un écran connecté au dispositif électronique, d'une représentation multidimensionnelle initiale d'un ensemble de ressource, ladite représentation multidimensionnelle comprenant, pour une ressource et/ou un processus donné, un affichage d'un état initial ;  a step of displaying (10), on a screen connected to the electronic device, an initial multidimensional representation of a set of resources, said multidimensional representation comprising, for a given resource and / or a process, a display of a initial state ;
au moins une itération (20) d'une étape de réception, en provenance d'au moins une ressource informatique, d'un évènement courant de ressource et/ou d'un évènement d'un processus s'exécutant sur ladite ressource ;  at least one iteration (20) of a reception step, coming from at least one IT resource, of a current resource event and / or of an event of a process executing on said resource;
au moins une itération (30) d'une étape de traitement de la représentation multidimensionnelle de l'ensemble de ressource comprenant une mise à jour de la représentation de la ressource et/ou du processus en fonction de l'évènement courant et d'un état antérieur de la ressource et/ou du processus.  at least one iteration (30) of a step for processing the multidimensional representation of the resource set comprising an update of the representation of the resource and / or of the process as a function of the current event and of a previous state of the resource and / or process.
2. Procédé de traitement de données événementielles selon la revendication 1, caractérisé en ce qu'il comprend en outre au moins une étape de traitement, en provenance d'un périphérique d'utilisateur, d'une commande d'affichage de ladite représentation multidimensionnelle sur ledit écran. 2. Method for processing event data according to claim 1, characterized in that it further comprises at least one step of processing, from a user device, a command to display said multidimensional representation. on said screen.
3. Procédé de traitement selon la revendication 1, caractérisé en ce que l'étape d'affichage (10) de la représentation multidimensionnelle initiale dudit ensemble de ressource comprend l'affichage d'une structure multidimensionnelle de base, comprenant une pluralité d'emplacements, chaque ressource et/ou processus de la liste de ressources étant assigné à un emplacement donné parmi l'ensemble des emplacements disponibles. 3. Processing method according to claim 1, characterized in that the display step (10) of the initial multidimensional representation of said resource set comprises the display of a basic multidimensional structure, comprising a plurality of locations , each resource and / or process of the resource list being assigned to a given location among the set of available locations.
4. Procédé de traitement selon la revendication 3, caractérisé en ce que l'étape d'affichage (10) comprend en outre une étape de regroupement, sur la structure multidimensionnelle de base, des processus appartenant à une même ressource. 4. Processing method according to claim 3, characterized in that the display step (10) further comprises a step of grouping, on the basic multidimensional structure, processes belonging to the same resource.
5. Procédé de traitement selon la revendication 1, caractérisé en ce que l'étape mise à jour de la représentation de la ressource et/ou du processus en fonction de l'évènement courant et d'un état antérieur de la ressource et/ou du processus comprend une modification de la hauteur de la représentation de la ressource et/ou du processus. 5. Processing method according to claim 1, characterized in that the step of updating the representation of the resource and / or of the process as a function of the current event and of a previous state of the resource and / or of the process includes a change in the height of the representation of the resource and / or process.
6. Dispositif électronique de traitement de données événementielles apte à être connecté à un réseau de communication, lesdites données événementielles provenant d'au moins une ressource, ladite au moins une ressource étant connu dudit dispositif électronique et identifiée au sein d'une liste de ressources, ledit dispositif comprenant : 6. Electronic event data processing device able to be connected to a communication network, said event data coming from at least one resource, said at least one resource being known to said electronic device and identified within a list of resources , said device comprising:
des moyens d'affichage, sur un écran connecté au dispositif électronique, d'une représentation multidimensionnelle initiale d'un ensemble de ressource, ladite représentation multidimensionnelle comprenant, pour une ressource et/ou un processus donné, un affichage d'un état initial ;  means for displaying, on a screen connected to the electronic device, an initial multidimensional representation of a set of resources, said multidimensional representation comprising, for a given resource and / or process, a display of an initial state;
des moyens de réception, en provenance d'au moins une ressource informatique, d'un évènement courant de ressource et/ou d'un évènement d'un processus s'exécutant sur ladite ressource ;  means for receiving, from at least one computer resource, a current resource event and / or an event of a process executing on said resource;
des moyens de traitement de la représentation multidimensionnelle de l'ensemble de ressource comprenant une mise à jour de la représentation de la ressource et/ou du processus en fonction de l'évènement courant et d'un état antérieur de la ressource et/ou du processus.  means for processing the multidimensional representation of the resource set comprising an update of the representation of the resource and / or of the process as a function of the current event and of a previous state of the resource and / or of the process.
7. Produit programme d'ordinateur téléchargeable depuis un réseau de communication et/ou stocké sur un support lisible par ordinateur et/ou exécutable par un microprocesseur, caractérisé en ce qu'il comprend des instructions de code de programme pour l'exécution d'un procédé selon la revendication 1, lorsqu'il est exécuté sur un ordinateur. 7. Product computer program downloadable from a communication network and / or stored on a medium readable by computer and / or executable by a microprocessor, characterized in that it comprises instructions of program code for the execution of a method according to claim 1, when executed on a computer.
PCT/EP2019/080614 2018-11-07 2019-11-07 Method of dynamic representation of allocation of resources, device and computer program corresponding thereto. WO2020094815A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1860231 2018-11-07
FR1860231 2018-11-07

Publications (1)

Publication Number Publication Date
WO2020094815A1 true WO2020094815A1 (en) 2020-05-14

Family

ID=68503146

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2019/080614 WO2020094815A1 (en) 2018-11-07 2019-11-07 Method of dynamic representation of allocation of resources, device and computer program corresponding thereto.

Country Status (1)

Country Link
WO (1) WO2020094815A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020156825A1 (en) * 2001-04-24 2002-10-24 Hoover Theodore G. Organization and visualization of performance data in selected display modes
US20110099550A1 (en) * 2009-10-26 2011-04-28 Microsoft Corporation Analysis and visualization of concurrent thread execution on processor cores.
US20110107305A1 (en) * 2009-11-04 2011-05-05 Red Hat, Inc. Visualizing Thread Life Time in Eclipse
US20110138236A1 (en) * 2009-12-09 2011-06-09 Samsung Electronics Co., Ltd. Apparatus and method for providing visual interface for information of error generated in multithread testing

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020156825A1 (en) * 2001-04-24 2002-10-24 Hoover Theodore G. Organization and visualization of performance data in selected display modes
US20110099550A1 (en) * 2009-10-26 2011-04-28 Microsoft Corporation Analysis and visualization of concurrent thread execution on processor cores.
US20110107305A1 (en) * 2009-11-04 2011-05-05 Red Hat, Inc. Visualizing Thread Life Time in Eclipse
US20110138236A1 (en) * 2009-12-09 2011-06-09 Samsung Electronics Co., Ltd. Apparatus and method for providing visual interface for information of error generated in multithread testing

Similar Documents

Publication Publication Date Title
US11722376B2 (en) Execution of a topology
US11468641B2 (en) Augmented reality assistant
US11995464B2 (en) Configuring DevOps pipelines using drag and drop techniques
De Chaves et al. Toward an architecture for monitoring private clouds
US20190028356A1 (en) Management of the lifecycle of a cloud service modeled as a topology
EP3063667B1 (en) Instantiating a topology-based service using a blueprint as input
US11159385B2 (en) Topology based management of second day operations
US10628231B2 (en) Multiple service classes in a shared cloud
US20160254965A1 (en) Stitching an application model to an infrastructure template
JP2019519852A (en) Method, computer system and computer program for providing debug information about a production container using a debug container
Tulloch Introducing Windows Azure for IT Professionals
WO2015050549A1 (en) Managing a number of secondary clouds by a master cloud service manager
US20160241444A1 (en) Management of the lifecycle of a cloud service modeled as a topology
EP2893683A1 (en) Ldap-based multi-customer in-cloud identity management system
FR2988943A1 (en) SYSTEM FOR SUPERVISING THE SAFETY OF AN ARCHITECTURE
FR3075528B1 (en) ORCHESTRA HYBRID CLOUD SYSTEM FOR SAP
US20190391793A1 (en) Separation of user interface logic from user interface presentation by using a protocol
US20220075631A1 (en) Platform-based enterprise technology service portfolio management
WO2022028144A1 (en) Blockchain management of provisioning failures
FR2963121A1 (en) METHOD AND DEVICE FOR PROTECTING SOFTWARE CONTROLS IN AN AIRCRAFT COCKPIT
EP3519958A1 (en) Method for auditing a virtualised resource deployed in a cloud computing network
WO2020094815A1 (en) Method of dynamic representation of allocation of resources, device and computer program corresponding thereto.
US11330068B2 (en) Methods and systems for recording user operations on a cloud management platform
US20240080264A1 (en) Multicloud hosting for containerized applications
FR3075533A1 (en) VIDEO MANAGEMENT SYSTEM - MONITORING

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19801314

Country of ref document: EP

Kind code of ref document: A1