A method for generating a dependency map and related electronic device
Patent Information
- Authority / Receiving Office
- EP · EP
- Patent Type
- Applications
- Current Assignee / Owner
- MAERSK AS
- Filing Date
- 2024-07-30
- Publication Date
- 2026-06-17
AI Technical Summary
In complex electronic systems with numerous interconnected resources, determining the impact of changes or issues on other entities and identifying the root cause can be challenging due to the system's intricate nature.
A method and electronic device for generating a dependency map by obtaining resource data, user input, and validating a data structure to create a map showing status parameters and dependency relations between resources.
The method enables accurate and efficient maintenance by providing a clear view of resource dependencies, reducing mean time to detect and recover from issues, and identifying systemic problems and bottlenecks.
Smart Images

Figure EP2024071567_13022025_PF_FP_ABST
Abstract
Description
[0001] A METHOD FOR GENERATING A DEPENDENCY MAP AND RELATED ELECTRONIC
[0002] DEVICE
[0003] TECHNICAL FIELD
[0004] The present disclosure pertains to the field of electronic resource monitoring and control. The present disclosure relates to a method for generating a dependency map and related electronic device.
[0005] BACKGROUND
[0006] Many electronic systems include a plurality of interconnected electronic entities (e.g., electronic resources, computer resources, software resources) interconnected as a mesh. A system supporting an electronic service can comprise many interconnected resources (e.g., services and / or applications) which may depend on upstream and / or downstream resources. When a change is performed or an issue occurs in such a system, the impact that the change or the issue may have on other entities, such as other services and / or applications of the system, may be difficult to determine due to the complex interconnected nature of the system. Similarly, the root cause of the issue may also be difficult to identify.
[0007] SUMMARY
[0008] During issues where one or more entities of a system (such as one or more resources) are impacted, it may be difficult to resolve the issue without obtaining dependency information regarding the interconnected entities of the system.
[0009] Accordingly, there is a need for an electronic device and a method for generating and / or providing a dependency map, which mitigate, alleviate, or address the shortcomings existing and may allow for a more accurate, robust, and time-efficient maintenance of a system.
[0010] Disclosed is a method, performed by an electronic device. The method comprises obtaining resource data associated with a plurality of resources including a first resource and a second resource. The method comprises obtaining, from a first user, a user input regarding the first resource. The method comprises generating, e.g. based on the resource data and the user input, a data structure associated with the plurality of resources. In some examples, the data structure comprises a first status parameter of the first resource. The method comprises validating the data structure. The method comprises generating a dependency map based on the validated data structure. The dependency map comprises the first status parameter and a relation parameter indicative of a dependency between the first resource and the second resource. The method comprises providing the generated dependency map.
[0011] Disclosed is an electronic device comprising memory circuitry, processor circuitry, and an interface, wherein the electronic device is configured to perform any of the methods disclosed herein.
[0012] Disclosed is a computer readable storage medium storing one or more programs, the one or more programs comprising instructions, which when executed by an electronic device with a display and a touch-sensitive surface cause the electronic device to perform any of the methods disclosed herein.
[0013] It is an advantage of the present disclosure that the disclosed electronic device and method provide an accurate and reliable dependency map which may enable timeefficient, and accurate maintenance of a system (e.g., a system comprising a plurality of resources). For example, the disclosed method may enable an improved issue management (such as incident management) on the electronic resources (e.g. hardware resources, software resources, applications, and / or services).
[0014] The disclosed method may advantageously provide information regarding the dependencies (e.g., the relationship) between one or more resources of a system e.g., by providing a dependency map. For example, this may allow for an improved monitoring and maintenance of a plurality of resources. This may advantageously reduce the mean time to detect (MTTD) an issue and / or mean time to recover (MTTR) from an issue.
[0015] The disclosed method may advantageously indicate (e.g., via the dependency map) resource(s) which may be causing an issue (such as recurringly) and / or given areas of the dependency map within which issues may be recurring. In other words, The disclosed method may permit identifying systemic issues, such as repetitive, structural issues at one or more resources and their dependencies ( e.g., CPU of a given system spikes on every Monday morning). Furthermore, the dependency map may indicate a bottleneck in a system. For example, the dependency map may advantageously indicate a resource not performing optimally, and the subsequent impact that this may have on downstream resources. The disclosed dependency map allows to mitigate errors in the system when a change is to be performed in one or more resources by providing upstream and downstream dependencies.
[0016] BRIEF DESCRIPTION OF THE DRAWINGS
[0017] The above and other features and advantages of the present disclosure will become readily apparent to those skilled in the art by the following detailed description of exemplary embodiments thereof with reference to the attached drawings, in which:
[0018] Fig. 1 is a diagram illustrating schematically an exemplary process where the disclosed technique for generating a dependency map is carried out by an exemplary electronic device according to this disclosure,
[0019] Fig. 2 is an illustration of a dependency chain according to this disclosure, Fig. 3 is an illustration of an exemplary dependency map according to this disclosure, Figs. 4A-B are a flow-chart illustrating an exemplary method, performed by an electronic device, for generating a dependency map according to this disclosure, and Fig. 5 is a block diagram illustrating an exemplary electronic device according to this disclosure.
[0020] DETAILED DESCRIPTION
[0021] Various exemplary embodiments and details are described hereinafter, with reference to the figures when relevant. It should be noted that the figures may or may not be drawn to scale and that elements of similar structures or functions are represented by like reference numerals throughout the figures. It should also be noted that the figures are only intended to facilitate the description of the embodiments. They are not intended as an exhaustive description of the disclosure or as a limitation on the scope of the disclosure. In addition, an illustrated embodiment needs not have all the aspects or advantages shown. An aspect or an advantage described in conjunction with a particular embodiment is not necessarily limited to that embodiment and can be practiced in any other embodiments even if not so illustrated, or if not so explicitly described.
[0022] The figures are schematic and simplified for clarity, and they merely show details which aid understanding the disclosure, while other details have been left out. Throughout, the same reference numerals are used for identical or corresponding parts. A resource can be seen as a hardware resource and / or a software resource (e.g. an application, a downstream application, an upstream application, and / or a service). In some examples, a resource can be an Application Programming Interface (API). In some examples, the resource can associate with a service, in that the service is running on one or more resources. An upstream resource is for example any resource (e.g., application) that provides (such as sends) data to a given resource. A downstream resource is for example a resource that obtains (such as receives) data from a given resource. A resource that is downstream from an upstream resource is for example dependent on at least that upstream resource.
[0023] Dependency can be seen as a relationship between different resources, such as by relying on or relating to the resource capabilities. Dependencies can exist between different segments of a program in terms of resource usage. These dependencies can be in the form of resource dependency, control dependency, or data dependency. Resource dependencies refer to reliance of a program segment on specific resources. For example, a program may require a certain amount of memory or processing power to execute properly. For example, a service may require a certain amount of hardware resources and depend on an application to execute properly.
[0024] The dependency map can be seen a map representative of dependencies (e.g., affiliation, association, and / or relationship) between one or more resources (e.g., the first and second resources) of the plurality of resources. A dependency map for example comprises one or more nodes (e.g., vertices) and one or more links (e.g., edges). A node can be seen as representing a resource. A link can be seen as representing a relation, such as a dependency (e.g. a dependent relation). The link (e.g., the dependency) can be unidirectional or bidirectional. The dependency map can for example be seen as comprising one or more dependency chains linking one or more resources by their associated dependencies. An example dependency map is shown in Fig. 3.
[0025] The disclosed method can be seen as is a method for identifying, monitoring, controlling and mapping upstream and downstream dependencies (e.g., resource dependencies, such as service dependencies) between a plurality of resources (e.g., services) to generate a dependency map.
[0026] For example, the generated dependency map may be provided e.g., to a user (such as a technician, and / or an engineer) for maintenance of the system. The generated dependency map may improve end-to-end service visibility of the plurality of resources. The disclosed method may enable an improved correlation of the dependencies for a given application. In other words, the disclosed method may allow for an improved monitoring of the relationship between a plurality of resources. Furthermore, the disclosed method may enable improved visibility of the status, availability and reliability of a resource of the plurality of resources.
[0027] Fig. 1 is a diagram illustrating schematically an exemplary process where the disclosed technique for generating a dependency map is carried out by an exemplary electronic device according to this disclosure. The process shown in Fig. 1 is for example carried out by example electronic 300 shown in Fig. 5. Fig. 1 can for example be seen as a high level flow chart of examples of the disclosed technique.
[0028] Fig. 1 shows data sources, a status page, and a dependency mapper.
[0029] The data sources are configured to provide resource data. The resource data comprises configuration management data 12 associated with one or more resources, resource control data 14 associated with one or more resources and / or operational data 16 associated with the one or more resources. The resource data may for example be obtained (such as received and / or retrieved) from one or more data sources (e.g., one or more databases). For example, the configuration management data 12 may for example be obtained from a configuration management database. The configuration management data 12 provides configuration settings of a resource. The configuration management data 12 for example comprises information relating to one or more software and / or hardware resources (e.g., components). In some examples, the configuration management data 12 comprises information relating to the relationships between one or more software and / or hardware resources (e.g., components). The configuration management data 12 may be obtained (such as retrieved (e.g., pulled) and / or received) periodically from a data source. The data source is for example a central system. For example, the configuration management data 12 may be obtained from an electronic device (such as a database, e.g., a central database). The central system (e.g., database) can be for example an IT management system (e.g., database).
[0030] The resource control data 14 can be obtained from a resource control database, such as a database including resource artifact management data, security, and governance data. The resource control data 14 can comprise one or more of: resource artifact management data, security and governance data, meta data of each resource. The resource control data 14 for example comprises information related to a given resource such as resource creation date, version of resource, the type of hardware resource (like compute, storage etc.). In some examples, the resource data comprises a metadata map. The resource control data may for example comprise resource artifact management data, security data, governance data, etc. The resource control data 14 can for example be obtained (such as retrieved (e.g., pulled) and / or received) from one or more data sources. For example, the resource control data 14 may be obtained from a central system (e.g., an IT management system). The resource control data 14 may enable improved capturing of granular relationships, dependencies and / or historical data. In some examples, granular relationships, dependencies and / or historical data can be used to calculate a probability of failure (such as resource failure, e.g., lack of availability of a resource) and / or to perform deep relationships (e.g. a co-dependency, a bidirectional dependency, and / or a strong association).
[0031] The operational data 15 can be obtained from an operation database. The operational data 15 comprises operational information of a resource, such as a power usage, memory usage, and / or computational usage. The operational Data 16 for example comprises information related to the plurality of resources. The operational data can for example be seen as operational data a resource of the plurality of resources. For example, the operational data 16 may comprise information related to service tickets, change tickets, resource status, such as available or decommissioned etc. The resource operational data 16 can for example be obtained (such as retrieved (e.g., pulled) and / or received) from one or more data sources. For example, the resource operational data 16 may be obtained from a central system (e.g., an IT management system).
[0032] The status page may be seen as page, such as web page and / or a user interface for providing input and / or obtaining status. The status page for example comprises a dependency mapper interface 10, and a status database 20. The status page may comprise onboarded data 21 (e.g. pre-populated data in the status page, e.g. manually entered data) and / or status signals 22. The status database may be configured to obtain (e.g., retrieve and / or receive) onboarded data 21 and / or status signals 22. The dependency mapper interface 10 is for example a user interface to obtain user input for the dependency mapper. The dependency mapper (such as a resource dependency mapper, such as a service dependency mapper) is for example configured to generate a data structure (e.g., a data structure associated with the resources). The dependency mapper is for example configured to generate 17 a data structure. The dependency mapper is for example configured to validate 18 a data structure. The dependency mapper is for example configured to generate 24 a dependency map based on the validated data structure. The dependency mapper is for example configured to provide 26 the generated dependency map (e.g., to a user, such as a second user, of the electronic device).
[0033] The disclosed technique comprises obtaining resource data (e.g., resource data of a system process) associated with a plurality of resources including a first resource and a second resource. Obtaining the resource data can for example be seen as obtaining and / or collecting data. The resource data may be obtained from one or more data sources (e.g., electronic devices comprising memory circuitry). The resource data is for example associated with an enterprise system.
[0034] The disclosed technique for example comprises validating 18 a data structure, e.g., associated with the plurality of resources. In some examples, validating 18 the data structure comprises validating 18 the data structure based on a verification input from a user (such as a first user), such as via the dependency mapper interface 10. In some examples, validating 18 the data structure can be seen as manually verifying the data structure. For example, the user input 11 may be provided by a first user. For example, resource data associated with a plurality of resources used for validation (e.g., manual validation) of the data structure. The first user is for example a user of the electronic device. The first user can be seen as an expert (e.g., a subject matter expert and / or a functional expert). For example, the first user is a person with knowledge of the dependencies of the plurality of resources.
[0035] In some examples, the electronic device is configured to run a dependency mapper interface. The dependency mapper interface 10 is for example a user interface (III). The dependency mapper interface 10 can be seen as a user interface via which user input 11 (e.g., from a first user) regarding a resource can be obtained. The user input 1 1 is for example indicative of one or more dependencies (e.g., the relationship) between on or more resources. The user input 11 is for example provided by a first user. In one or more examples, the dependency mapper interface 10 can be seen as the interface (e.g., entry point) for a first user to input the system process to system mapping and / or dependencies (e.g., interdependencies) for their application. In other words, a first user may provide, e.g., via the dependency mapper interface, a user input 11 regarding a resource (e.g., the first resource).
[0036] The dependency mapper interface 10 (e.g., the dependency mapper III) may be prepopulated with resource information (e.g., details from a database comprising information associated with the plurality of resources) and displayed to the user with a pre-populated information for obtaining user input for an accurately presented resource. For example, the dependency mapper interface 10 may comprise information indicative of one or more resources of a system. The user input provided by the user (e.g., the first user) can be seen as updating the resource information of the dependency mapper interface 10 (e.g., via one or more drop down menus). For example, the dependency mapper interface 10 may comprise the end point information of the system (e.g., information relating an API of the system). In some examples, the resource, such as an end point resource, such as an API, may be clearly indicated (e.g., demarcated) based on an Application portfolio, such as a group of application. The resource information may include status information from a Status database.
[0037] In some examples, the dependency mapper interface 10 comprises user interface objects representative of a document (e.g., a form). For example, the dependency mapper interface 10 may provide user interface objects representative of a document (e.g., to a first user) into which the first user may provide a user input 1 1 . For example, the electronic device may be configured to obtain a user input 11 regarding a resource (e.g., a first resource) via one or more selectable options of a document. In some examples, the document can be seen as an onboarding form (such as form for onboarding of information relating to a resource). In some examples, the document (e.g., the onboarding form) comprises one or more drop-down list (e.g., hierarchical drop-down lists). The drop-down list may for example comprise information associated with a plurality of resources. The first user (e.g., a functional expert and / or a subject matter expert) may for example select on or more options from the drop-down menu. For example, the electronic device may be configured to obtain (e.g., from a first user via the dependency mapper interface) information indicative of Upstream and / or Downstream resources. In some examples, the electronic device may be configured to obtain (e.g., from a first user via the dependency mapper interface) information indicative of whether a dependency between two or more resources is unidirectional or bidirectional. For example, the document (e.g., the onboarding form) may comprise a checkbox where the first user can indicate the directionality of one or more dependencies.
[0038] The user input 11 may for example comprise information indicative of a resource (such as a platform portfolio, a product, an application and / or a service). For example, the user input 11 obtained by the dependency mapper interface 10 may comprise one or more interdependencies between a plurality of resources. In other words, the relationship between the plurality of resources may be provided as by a first user (e.g., a subject matter expert and / or a functional expert) as a user input 11 to the electronic device e.g., via the dependency mapper interface. This may advantageously ensure that the generated dependency map has an improved accuracy over a dependency map generated using auto-discover mechanisms and / or algorithms. For example, the validation of the data structure may comprise vetting of the resource interdependencies by an expert (e.g., a subject matter expert and / or a functional expert).
[0039] The onboarded data 21 for example comprises process to system mapping. For example, the onboarded data 21 comprises one or more previous user inputs provided by a first user (e.g., an expert). In other words, the user input 11 (e.g., the plurality of resources and related interdependencies) obtained via the dependency mapper interface 10 may be stored in the status database 20.
[0040] In some examples, the user input 11 (e.g., the plurality of resources and related interdependencies) obtained via the dependency mapper interface 10 may be stored in an electronic device (e.g., in memory circuitry of the electronic device, such as the electronic device 300 shown in Fig. 5).
[0041] In one or more examples, the status signals 22 comprise information indicative of the status (e.g., such as operational status) of one or more nodes of the dependency map. The status signals 22 for example comprise one or more status parameters associated with the plurality of resources. For example, the one or more status parameters of the status signals 22 can be seen as indicative of the dynamic status of the one or more nodes of the dependency map. The one or more status parameters of the status signals 22 are for example based on the availability of the plurality of resources. The dependency mapper, as shown in Fig. 1 , may be configured to generate the data structure, validate the data structure, generate the dependency map based on the validated data structure and / or provide the generated dependency map. For example, the processes are performed, such as executed, by the dependency mapper in real-time and reliably.
[0042] The input of the dependency mapper may comprise the data obtained from the status page. In some examples, the input of the dependency mapper comprises resource data. In some examples, the output of the dependency mapper comprises a user interface object representative of the dependency map. In other words, the output of the dependency mapper may comprise a visual representation of the dependency map.
[0043] For example, the output of the dependency mapper (e.g., the generated dependency map) may be provided to a status page for provision to the user, e.g. via a user interface. For example, the provided output (e.g., dependency map) may enable a user (e.g., a second user) to handle an incident associated with the plurality of resources. For example, the generated dependency map may indicate a weak point in performance (e.g., a non-available resource, such as a resource being out of service. This may for example be indicated by a node (e.g., a vertex) of the dependency map comprising a given color (e.g., red). In some examples, an uptime of a resource for a given time period may be calculated based on the generated dependency map.
[0044] The generating 17 of the data structure can for example be seen as a data corroboration process, such as data corroboration of the resource data. In some examples, the method comprises generating the data structure based on the resource data and / or the user input 11. For example, the generating the data structure may comprise concatenating the resource data and the user input (e.g., the data obtained by a first user via the user input).
[0045] The concatenated data may for example be based on a resource identifier associated with at least one resource of the plurality of resources. The resource identifier can be seen as a unique identifier of a given resource. The resource identifier may comprise a type of code. The resource identifier for example comprises an alphanumeric code. The resource identifier for example comprises a numeric code. In some examples, each resource is associated with a unique resource identifier . In one or more examples, generating the data structure may comprise corroborating the resource data and / or the user input 11 . In some examples, the data structure (e.g., generated based on data obtained via one or more data sources) may be provided as an input for the system to validate.
[0046] The API calls may collect data from the one or more data sources to provide as an input to the validation process e.g., to validate the dependencies of the plurality of resources.
[0047] Generating 17 of the data structure can be seen as building relative confidence on the relationships between the plurality of resources. Generating 17 the data structure for example comprises tagging the configuration management data, resource control data and / or operational data with that of a given resource (e.g., service, such as a service for Booking, Pricing etc.).
[0048] In some examples, validating 18 the data structure may comprise validating the data (e.g., an end point resource) included in the data structure. For example, validating 18 the data structure may comprise validating data obtained (e.g., captured) from the dependency mapper interface 10.
[0049] In one or more examples, the resource of the data structure, such as a resource obtained via the dependency mapper interface 10 is validated. In some examples, the validating of a resource of the data structure is based on the resource data, user input 11 and / or data structure. For example, when the resource is validated (e.g., found to be valid), the electronic device (e.g., via an API) may store a resource id and / or resource hierarchy as a node (vertex) in a directed and / or undirected graph. The electronic device may for example provide (such as pass) the directed and / or undirected graph to the next operation. For example, when a dependency is unidirectional, the relationship (e.g., the resources associated with the dependency and the dependency itself) can be stored as a directed graph. For example, when a dependency is bidirectional, the relationship (e.g., the resources associated with the dependency and the dependency itself) can be stored as an undirected graph.
[0050] For example, when the validating 18 of the data structure finds a resource does not exist in status database 20 or conflicts with other data sources such as the user input 11 and / or the resource data (e.g. ,12, 14 and / or 16), the electronic device (e.g., via an API) may provide a response 19 (such as a notification) to a first user (e.g., an expert) indicative of the resource not being valid (such as being invalid) via the dependency mapper interface 10. For example, the response 19 may be indicative of the data structure not being validated. For example, the response 19 may be a request for a user input (such as additional user input). The response 19 can be seen as indicative of unsuccessful validation of the data structure (e.g., of a resource of the data structure). In some examples, the response 19 may be indicative of the API not having a proper hierarchy.
[0051] Stated differently, validating 18 the data structure may comprise the electronic device providing to the first user (e.g., such as the first user) a request 19 for user validation of the data structure, (e.g., the request comprising a query of whether the generated data structure, such as generated based on the resource data and / or the user input 11 , is valid).
[0052] Upon successful validation of the data structure the electronic device may generate a dependency map based on the validated data structure. For example, upon successful validation of the data structure, the electronic device may store the upstream and downstream resources as nodes (e.g. vertices) and / or their relationship as an edge in a database (such as a graph database). In some examples, before the dependency map is generated, a probability check may be carried out. For example, the probability check may comprise determining a confidence score for a change in a status parameter (e.g., first status parameter), such as a status parameter of a resource.
[0053] In some examples, the status parameter may be seen as a parameter indicative of the status of a resource (such as a service). For example, the status parameter may comprise a value indicative of the status of the resource, e.g., a resource of the dependency map. The status parameter is for example obtained from the status database (such as the status database 20 of Fig. 1).
[0054] The status parameter is for example indicated by a color (e.g., red, amber, and / or green). In some examples, a node (e.g., representative of a resource) of the dependency map may comprise a color indicative of the status parameter of the resource. In one or more examples, the colour of the node (e.g., of the resource) may be determined based on the status parameter, such as the value of the status parameter. The colour of the node may for example indicate (e.g., to a user) the status of a resource. For example, when a node representative of a given resource is red, the given resource can be seen as of a critical status (such as non-operational). In other words, the nodes of the generated dependency map provided to the user (e.g., via the user interface object) may comprise one or more indicators (e.g., colours) of the status of the plurality of resources. In other words, before the dependency map is provided 26 (e.g., to a user), a probability check may be carried out on by verifying the status (e.g., good, warning, critical) of each of the upstream and downstream services associated.
[0055] In some examples, the status of one or more nodes (e.g., each representative of a resource) may be obtained (such as captured) from the status database 20. For example, the status of the one or more nodes may be stored as an attribute of respective node e.g., in a database, such as a graph database.
[0056] In some examples, resource control data (e.g., metadata) obtained in validation 18 of the data structure may be stored as an attribute of a node (e.g., a resource artifact). In some examples, the status of a resource (e.g., the status attribute of a node) can be checked and / or updated periodically (e.g., every minute). In other words, the electronic device may be configured to periodically check whether the status of a resource has changed. For example, the electronic device may obtain 23 periodically status parameters associated with the plurality of resources. For example, when the status of a resource has changed the method comprises updating the status of a resource (e.g., the status attribute of a node) of the dependency map. For example, the status of the resources of the attribute map can be seen as updated near-real time. For example, the dependency map may be updated within an API code and / or updated in a graph database.
[0057] In some examples, the dependency map is stored and updated in the graph database. Stated differently, the resources (e.g., nodes of the dependency map) and / or the dependencies (such as the relationships) between the nodes are stored in the graph database.
[0058] The method may comprise providing 26 the generated dependency map. Providing the generated dependency map 26 can be seen as a final point for the end users to visualize the resource dependencies (e.g., the service dependencies, such as application resource dependencies). The electronic device may store (e.g., in a Graph database) resources and / or resource attributes (e.g., artifact entities, resource performance and / or health, resource availability, and / or service latency). The electronic device can for example navigate relationships between resources.
[0059] The electronic device is for example configured to render the dependency map using a Graph explorer or a java-script library. For example, the providing the dependency ma (e.g., to a user) can be seen as rendering a resource-dependency view of the plurality of resources. In other words, the providing the dependency ma (e.g., to a user) can be seen as rendering an entity-relationship view of the plurality of resources.
[0060] The generated dependency map can for example be displayed as a user interface object representative of the dependency map (e.g., the generated dependency map). The user interface object can for example be seen as a III feature. For example, providing the generated dependency map may provide a user (e.g., a second user) with an improved understanding of the dependencies between the plurality of resources. In other words, the user interface object representative of the dependency map may enable a user, such as a second user, to traverse through each node and / or associated upstream and / or downstream services. This may enable a user (such as the second user, e.g., an end user) to infer status with improved accuracy and / or to understand the dependencies between resources (e.g., to connect the dots).
[0061] For example, the user interface object representative of the dependency map may provide a simplified & clear picture of overall application health (e.g., the health of an application comprising a plurality of resources).
[0062] Fig. 2 is an illustration of an exemplary method representative of generating a dependency map according to this disclosure. Fig. 2 shows a resource A, a resource B and a resource C. Resources A, B, and C can for example be services / artifact A, B and C.
[0063] Resource B for example comprises resource B 1 and resource B 2. Resource B 1 and B 2 are for example the same resource (e.g., resource B) with dependencies to different resources. Fig. 2 shows a dependency chain, e.g., of a dependency map. Resources A, B and / or C may for example be obtained (e.g., onboarded) from a first user (e.g., an expert) as a user input. For example, the dependencies R1 and / or R2 may be obtained from a user. R1 is for example indicated in the dependency chain by a link connecting resource A and resource B. R2 is for example indicated in the dependency chain by a link connecting resource B and resource C. Resources A and B may for example be obtained (e.g., by a user) discretely to resources B and C.
[0064] The dependency (e.g., the relationship) between resource A and B (such as resource B_1) is indicated by R1 . R1 can be seen as a relation parameter indicative of the dependency between resource A and resource B. The dependency between resource A and B is for example unidirectional. In other words, resource B is dependent on resource
[0065] A, but resource A may not be dependent on resource B. The dependency R1 may be stored as a directed graph. Resource A can for example be seen as upstream of resource
[0066] B. Resource B can for example be seen as downstream of resource A.
[0067] The dependency between resource B (such as resource B_2) and resource C is indicated by R2. R2 can be seen as a relation parameter indicative of the dependency between resource B and resource C. The dependency between resource B and C is for example bidirectional. In other words, resource B is dependent on resource C, and resource C may be dependent on resource B. The dependency R2 may be stored as an undirected graph.
[0068] Resource B can for example be seen as upstream and / or downstream of resource C. Resource C can for example be seen as upstream and / or downstream of resource B.
[0069] Resource control data (e.g., metadata) of resources (e.g., artifacts) are obtained (e.g. fetched) from one or more data sources. The resource control data may be stored as an attribute of a respective resource. In some examples, the plurality of resources comprises a unique identifier, id, (e.g., an artifact id and / or a resource id). For example, resource A comprises a resource id_A, resource B may comprise a resource id_B and / or resource C may comprise a resource id_C.
[0070] The unique identifier (e.g., resource id) may enable generation 25 of a dependency map. Generating 25 the dependency map for example comprises combining (e.g., stitching) one or more dependencies (e.g., relationships), such as the two dependencies R1 + R2. Generating the dependency map by combining one or more the dependencies of resource A, B and C for example comprises generating a dependency chain (e.g., of a dependency map) across 3 resources, as two dependencies have been obtained independently (such as discretely).
[0071] Fig. 3 is an illustration of an exemplary dependency map according to this disclosure.
[0072] Fig. 3 shows a user 40. Fig. 3 shows nodes of a dependency map. The nodes of the dependency map can each represent a resource. The resources of the dependency map for example are for example resources of a system (such as a system configured to take an input and provide an output). The dependency map comprises nodes 41 , 42, 43, 44, 45, 46, 47, and 48. Nodes 41 , 42, 43, 44, 45, 46, 47, and 48 represent resource A, resource B, resource C, resource D, resource E, resource F, resource G, and resource H respectively. Resources A, B, C, D,
[0073] E, F, G and / or H can for example be seen as applications and / or services A, B, C, D, E, F, G and / or H.
[0074] Resource A can for example be seen as a first resource, resource B can for example be seen as a second resource, resource C can for example be seen as a third resource, etc. Resources A, B, and C are for example the same or similar as the resources A, B, and C shown in Fig. 2. In other words, the dependency chain of Fig. 2 can be seen in Fig. 3 as the section of the dependency map comprising resources A, B and C. The nodes shown in Fig. 3 are for example linked (e.g., connected) by dependencies, such as dependencies R1 and R2.
[0075] R1 is for example indicated in the dependency map by a link connecting resource A and resource B. R2 is for example indicated in the dependency map by a link connecting resource B and resource C.
[0076] Resources C, E, and F are represented by nodes 43, 45, and 46. Resources C, E, and F can be seen as operational (e.g., fully operational, e.g., good status). The nodes 43, 45, and 46 for example can be displayed in a user interface object representative of the dependency map with a colour or a pattern indicative of the status of resources C, E, and
[0077] F. In one or more examples, the colour or a pattern of the node (e.g., of the resource) may be determined based on the status parameter, such as based on the value of the status parameter.
[0078] For example, nodes 43, 45, and 46 may be displayed with a colour or a pattern indicative of good status. For example, nodes 43, 45, and 46 may be displayed with the colour green. In other words, nodes 43, 45, and 46 may indicate that resources C, E, and F are fully operational.
[0079] Resources A, B, D and G are represented by nodes 41 , 42, 44 and 47. Resources A, B, D and G can be seen as not fully operational (e.g., warning status). The nodes 41 , 42, 44 and 47 for example comprise a colour or a pattern indicative of the status of resources A, B, D and G. For example, nodes 41 , 42, 44 and 47 may be indicated with a colour or pattern indicative of warning status. For example, nodes 41 , 42, 44 and 47 may be indicated with the colour amber. In other words, nodes 41 , 42, 44 and 47 may indicate that resources A, B, D and G are not fully operational.
[0080] Resource H is represented by node 48. Resource H can be seen as not operational (e.g., critical status). The node 48 for example comprises a colour indicative of the status of resource H. For example, node 48 may be indicated with a colour or pattern indicative of critical status. For example, node 48 may be indicated with the colour red. In other words, node 48 may indicate that resource H is not operational (such as non-functional, out of service, under maintenance, etc.).
[0081] Generating (e.g., building) the dependency map for example comprises providing (e.g., feeding) resource data and / or a validated data structure to a database (e.g., a database internal and / or external to electronic device 300 shown in Fig. 5).
[0082] The dependency map for example comprises a first status parameter of the first resource. The method for example comprises determining a confidence score for a change in the first status parameter. The confidence score can be seen as indicative of the probability (e.g., likelihood) of a change of status in the status parameter (e.g. in the first status parameter). The confidence score is for example determined to ascertain the status of one or more resources in the dependency map (e.g., the first resource, e.g., service A).
[0083] In some examples, determining the confidence score can be seen as running a probability check on the one or more resources of the plurality of resources. The confidence scores can for example be seen as the outcome of the probability check.
[0084] In some examples, the method comprises generating, e.g., based on one the confidence score (e.g., one or more confidence scores), the dependency map (e.g., in the form of a graph structure, as shown in Fig. 3). In some examples, the dependency map can be seen as a dependency tree.
[0085] The generated dependency map for example comprises one or more (e.g., first) status parameters associated with one or more (e.g., first) resources. The provided dependency map is for example comprises a first status parameter.
[0086] The dependency map can for example be seen as a resource dependency map. The dependency map can for example be seen as a service dependency map. The dependency map can for example be seen as a network of nodes (e.g., related nodes). The dependency map for example comprises one or more nodes (e.g., vertices). In other words, the dependency map comprises resources as nodes (e.g., vertices). The nodes (e.g., the resources ) of the dependency map for example comprise a status parameter (e.g., first status parameter) of the resource (e.g., the first resource). In other words, the status parameter can be seen as an attribute of a node of the dependency map. For example, one or more nodes of the dependency map comprise the status parameter of a resource (e.g., the resource indicated by the node) as an attribute of the node.
[0087] The dependency between the resources (e.g., represented by the nodes in the dependency map) may be indicated by one or more lines (e.g., edges) between nodes of the dependency map. In other words, the dependency map for example comprises one or more edges linking (e.g., connecting) the one or more vertices.
[0088] In some examples, providing the generated dependency map comprises providing a visual representation of the dependency map to a second user (e.g., a user of the electronic device).
[0089] The generated dependency map can be seen as a data visualization indicative of the relation between two or more resources of the plurality of resources. The generated dependency map can for example be seen as a service map, e.g., indicative of the service status of one or more interdependent resources of the plurality of resources.
[0090] The generated dependency map for example provide a clear (e.g., not cluttered) and accurate view of the of the dependencies between the plurality of resources. For example, the clear (e.g., non-cluttered) representation of the dependencies may enable the generated dependency map to have an improved readability. For example, this may enable a second user (e.g., a layman) to infer, such as interpret, the information provided by the dependency map in a time-efficient and accurate manner.
[0091] The disclosed method may provide accurate information on the dependencies between the plurality of resources without a need for agents (e.g., trackers monitoring and sending status information to a central host) to be installed on an electronic device. Thus, the disclosed method may provide an accurate dependency map in an efficient manner (e.g., with minimal resource consumption). The generated dependency map can for example be seen as indicative of resource hierarchy (e.g., a product hierarchy). In some examples, the dependency map can be seen as showing a platform portfolio, such as comprising a plurality of resources. The generated dependency map for example indicates the relationship between upstream and downstream services.
[0092] The disclosed method can be seen as providing insight based on status parameters associated with the resources and / or based on resource data (e.g., comprising metadata) associated with a plurality of resources of the dependency map (e.g., across the entire dependency map, e.g., holistically).
[0093] Validating (e.g., corroborating) the data structure may reduce the fragmentation of the dependency map. Furthermore, validating the data structure may improve the accuracy (e.g., reliability) of the dependencies between the plurality of resources.
[0094] In some examples, the generated dependency map may be provided as a custom view (such as customizable by a user of the electronic device). The provided view may be seen as organizational, portfolio based and / or resource (e.g., service) based. For example, the generated dependency map that is provided (e.g., to a user) may be searchable and a user may be able to expand (such as zoom in and out of) the dependency map. Advantageously, the provided dependency map may enable improved monitoring (such as visualization and / or exploration) of the relation (such as the interdependencies) between the plurality of resources. In some examples, an alert (e.g., via a notification indicative of an alert) is provided when a status parameter of a resource of the plurality of resources is updated. The alert may be indicative of a resource of the plurality of resources being non-operational. A list of one or more resources of the plurality of resources which are dependent on (such as downstream of) the resource (such as the impacted resource) for which the status parameter has changed can be provided. The list may comprise one or more status parameters associated with the plurality of resources.
[0095] In some examples, the generated dependency map can be seen as providing a solution to an issue and / or an alternative during maintenance of the system. In other words, when one or more issues impact resources (e.g., nodes) of the plurality of resources, the dependency map may allow for a control of the system based on the visual representation of alternative resources that may be used instead of the resources (such as non- operational resources) affected by the issue (e.g., the outage). In other words, the provided dependency map may improve (such as expedite) issue resolution (e.g., troubleshooting), e.g. through improved monitoring of the plurality of resources and their associated dependencies.
[0096] Figs. 4A-B show a flow-chart illustrating an exemplary method 100, performed by an electronic device, e.g. for generating a dependency map, according to this disclosure. The method 100 is for example by the electronic device disclosed herein, such as electronic device 300 of Fig. 5.
[0097] The method 100 comprises obtaining (e.g. receiving and / or retrieving) S102 resource data associated with a plurality of resources. The plurality of resources comprises a first resource and a second resource, and optionally a third resource and optionally Nth resource (wherein N is a positive integer). The first resource can be seen as a resource upstream from the second resource. The second resource can be seen as a resource downstream, such as dependent on, the first resource. In one or more example methods, the resource data comprises one or more of: configuration management data, resource control data, and operational data associated with the resources. The resource data can for example be seen as dynamic inputs (e.g., regarding a resource of the plurality of resources). Fig. 1 provides examples of resource data.
[0098] The method 100 comprises obtaining (e.g. receiving) S104, from a first user, a user input regarding the first resource. In some examples, the user input can be seen as a static input (e.g., to the dependency map). For example, the first user is an expert (e.g., subject matter expert, functional expert). For example, the user input is for example indicative of the relationship (e.g., dependency) between one or more resources. The first user is for example a person with knowledge of the dependencies of the one or more resources.
[0099] The method 100 comprises generating S106, based on the resource data and the user input, a data structure associated with the plurality of resources. The data structure comprises e.g. a first status parameter of the first resource and / or optionally a second status parameter of the second resource. The data structure can be seen as a structured arrangement of information. In other words, the data structure can be seen as a structure for arranging and / or storing data in a structured manner. For example, the data structure may be a table (e.g., a look up table ). In one or more examples, the data structure comprises resource data associated with the plurality of resources and related interdependencies. For example, the data structure comprises Nth resource data for the Nth resource. Each resource may have resource data in the data structure. This is illustrated in Fig. 1 .
[0100] In one or more example methods, generating S106, based on the resource data and the user input, the data structure associated with the plurality of resources comprises concatenating S106A the resource data and the user input. In some examples, concatenating the resource data and the user input can be seen as combining, such as merging, the resource data and / or the user input. The concatenated data is for example concatenated based on a resource identifier associated with at least one resource of the one or more resources.
[0101] The method 100 comprises validating S108 the data structure. Validating may be seen as confirming and / or verifying. This is illustrated in Fig. 1.
[0102] The method 100 comprises generating S110 a dependency map based on the validated data structure. The dependency map comprises the first status parameter and a relation parameter indicative of a dependency between the first resource and the second resource. The relation parameter is for example based on relational information (e.g., obtained from a first user) relating the first resource and the second resource. The relation parameter is for example indicative of the relationship (e.g., affiliation, association and / or dependency) between a first resource and a second resource. The relation parameter can be a dependency parameter. In some examples, generating the dependency map can be seen as mapping the plurality of resources with the associated dependencies. An example dependency map is illustrated in Figs. 2 and 3.
[0103] The method 100 comprises providing S112 the generated dependency map. In one or more examples, providing S112 the generated dependency map comprises providing (e.g. sending) the generated dependency map to an external device (e.g., a monitoring and / or control system). In some examples, providing S112 the generated dependency map comprises providing the generated dependency map to a first user and / or a second user. In some examples, providing the generated dependency map comprises providing the generated dependency map via a user interface (e.g., of the electronic device). Providing S112 comprises e.g. controlling one or more resources based on the generated dependency map. In one or more example methods, providing S112 the generated dependency map to the second user comprises transmitting S1 12A the generated dependency map to the second user. The second user is for example a user of the electronic device (such as the electronic device 300 of Fig. 5). In one or more example methods, providing S112 the dependency map to the second user comprises displaying S1 12B a user interface object representative of the dependency map. The user interface object is for example generated according to the generated dependency map. In other words, the user interface object can be seen as a visual representation (e.g., a graphical representation) of the generated dependency map.
[0104] In one or more example methods, obtaining S102 the resource data comprises obtaining S102A the resource data from one or more data sources. For example, the one or more data sources may comprise one or more electronic devices (e.g., databases) associated with the plurality of resources. This is for example illustrated in Fig. 1 .
[0105] In one or more example methods, validating S108 the data structure comprises obtaining S108A a verification input from the first user regarding the data structure. In other words, verification input is for example provided by a first user (such as a subject matter expert and / or a functional expert). In one or more example methods, validating S108 the data structure comprises validating S108B, based on the verification input, the data structure. This is for example illustrated via the dependency mapper interface 10 in Fig. 1 .
[0106] The verification input for example comprises user input discussed with Fig. 1 , such as information (e.g., a value) indicative of whether the data structure comprises accurate information. For example, the verification data may comprise a Boolean, a text, and / or a value.
[0107] In one or more example methods, generating S110 the dependency map based on the validated data structure comprises determining S110A a confidence score for a change in the first status parameter. In one or more example methods, the confidence score indicates a confidence of the change of the first status parameter. The confidence score can for example be seen as a weighted probability, e.g., taking into account one or more resources and / or services. For example, when status parameters of one or more resources change (e.g., based on information obtained from a status database, e.g., status database 20 of Fig. 1) to being indicative of a lack of availability (e.g., red), the confidence score may indicate a high confidence of a change of the first status parameter (e.g., being updated from amber to red). For example, if dependent resources are red, then status of a given resource is red, and the probability is increasing for going from amber to red.
[0108] In one or more example methods, generating S110 the dependency map based on the validated data structure comprises generating S110B the dependency map based on the confidence score, e.g. by including the confidence score on the dependency map, and / or by providing only status(es) that has a confidence score meeting a criterion. In one or more example methods, generating S110B the dependency map based on the confidence score comprises determining S110BA whether the confidence score meets a criterion. In one or more example methods, generating S110B the dependency map based on the confidence score comprises, upon determining that the confidence score meets the criterion, generating S1 10BB the dependency map based on the data structure, e.g. by including the first status that has a confidence score meeting the criterion.
[0109] In one or more example methods, generating S110B the dependency map based on the confidence score comprises, upon determining that the confidence score does not meet the criterion, refraining S111 from including the status that has a confidence score not meeting the criterion in the dependency map. The criterion can be based on a threshold. In some examples, whether the confidence score meets the criterion depends on whether the confidence score is greater than, equal to, or less than the threshold. For example, when the confidence score is greater than or equal to the threshold, the criterion can be seen as being met by the confidence score. For example, when the confidence score is less than the threshold, the criterion can be seen as not being met by the confidence score. The threshold for example comprises a value. The threshold may for example be pre-set (e.g., by a user). The threshold may for example be updated, such as adjusted, e.g., by a user. In some examples, determining whether the confidence score meets a criterion can be seen as a probability check, such as a probability check to determine whether probability of a status change of a resource meets a criterion (e.g., a selected probability, such as an acceptable probability).
[0110] In one or more example methods, generating S110 the dependency map based on the validated data structure comprises generating S110C the dependency map based on each status parameter of the resources provided in the data structure. In one or more example methods, the method 100 comprises obtaining S1 14 periodically status parameters associated with the resources comprising a second status parameter associated with the second resource. In some examples, the status parameters may be obtained from one or more data sources (e.g., such as a status database). For example, the obtained status parameters can be seen as dynamic inputs to the dependency map. For example, the obtained status parameters can be seen as near real time inputs to the dependency map.
[0111] In one or more example methods, the method 100 comprises updating S116 the dependency map periodically based on the periodically obtained status parameters. For example, updating the dependency map periodically based on the periodically obtained status parameters may comprise updating one or more nodes of the dependency map according to one or more periodically obtained status parameters. For example, updating the dependency map periodically based on the periodically obtained status parameters may comprise updating the status (e.g., the color) of one or more nodes of the dependency map. For example, when the dependency map is being periodically updated based on the periodically obtained status parameters, the dependency map can be seen as a near real time dependency map.
[0112] In some examples, the method comprises filtering one or more resources. For example, the method may comprise filtering one or more resources such that the dependency map comprises a given type (e.g., class) of resources (e.g., resources associated with booking). For example, the method may comprise filtering one or more resources such that the dependency map comprises resources of one or more selected applications. Filtering of the one or more resource may enable troubleshooting of a disturbance (e.g., an issue) to be performed with improved time efficiency. In some examples, filtering of the one or more resources may improve (e.g., assist) monitoring of the one or more resources (e.g., the status of the one or more resources).
[0113] Fig. 5 shows a block diagram of an exemplary electronic device 300 according to the disclosure. The electronic device 300 comprises memory circuitry 301 , processor circuitry 302, and an interface 303. The electronic device 300 is configured to perform any of the methods disclosed in Figs. 4A-B. In other words, the electronic device 300 is configured for generating a dependency map. The electronic device 300 may be a monitoring and / or maintenance system. In some examples, the electronic device 300 is a dependency map generation electronic device. In some examples, the electronic device 300 is a dependency map provision (such as for providing) device. The electronic device 300 may be a server device. The electronic device 300 may be a user device.
[0114] The electronic device 300 is configured to obtain (e.g., via memory circuitry 301 and / or interface 303) resource data associated with a plurality of resources including a first resource and a second resource.
[0115] The electronic device 300 is configured to obtain (e.g., via memory circuitry 301 and / or interface 303), from a first user, a user input regarding the first resource.
[0116] The electronic device 300 is configured to generate (e.g., via processor circuitry 302), based on the resource data and the user input, a data structure associated with the plurality of resources. The data structure comprises a first status parameter of the first resource.
[0117] The electronic device 300 is configured to validate (e.g., via memory circuitry 301 , processor circuitry 302, and / or interface 303) the data structure.
[0118] The electronic device 300 is configured to generate (e.g., via processor circuitry 302) a dependency map based on the validated data structure. The dependency map comprises the first status parameter and a relation parameter indicative of a dependency between the first resource and the second resource.
[0119] The electronic device 300 is configured to provide (e.g., via the processor circuitry 302 and / or the interface 303) the generated dependency map.
[0120] The processor circuitry 302 is optionally configured to perform any of the operations disclosed in Figs. 4A-B (such as any one or more of: S102, S102A, S104 , S106, S106A, S108, S108A, S108B, S110, S110A, S1 10B, S110BA, S110BB, S110C, S1 11 , S112, S1 12A, S112B, S114, S116). The operations of the electronic device 300 may be embodied in the form of executable logic routines (e.g., lines of code, software programs, etc.) that are stored on a non-transitory computer readable medium (e.g., the memory circuitry 301 ) and are executed by the processor circuitry 302).
[0121] Furthermore, the operations of the electronic device 300 may be considered a method that the electronic device 300 is configured to carry out. Also, while the described functions and operations may be implemented in software, such functionality may as well be carried out via dedicated hardware or firmware, or some combination of hardware, firmware and / or software.
[0122] The memory circuitry 301 may be one or more of a buffer, a flash memory, a hard drive, a removable media, a volatile memory, a non-volatile memory, a random access memory (RAM), or other suitable device. In a typical arrangement, the memory circuitry 301 may include a non-volatile memory for long term data storage and a volatile memory that functions as system memory for the processor circuitry 302. The memory circuitry 301 may exchange data with the processor circuitry 302 over a data bus. Control lines and an address bus between the memory circuitry 301 and the processor circuitry 302 also may be present (not shown in Fig. 5). The memory circuitry 301 is considered a non-transitory computer readable medium.
[0123] The memory circuitry 301 may be configured to store resource data, a plurality of resources, a first resource, a second resource, a user input, a data structure, a first status parameter, a dependency map, validated data structure, a relation parameter and / or a generated dependency map in a part of the memory.
[0124] Embodiments of methods and products (electronic device) according to the disclosure are set out in the following items:
[0125] Item 1 . A method, performed by an electronic device, the method comprising: obtaining resource data associated with a plurality of resources including a first resource and a second resource; obtaining, from a first user, a user input regarding the first resource; generating, based on the resource data and the user input, a data structure associated with the plurality of resources, wherein the data structure comprises a first status parameter of the first resource; validating the data structure; generating a dependency map based on the validated data structure, wherein the dependency map comprises the first status parameter and a relation parameter indicative of a dependency between the first resource and the second resource; and providing the generated dependency map.
[0126] Item 2. The method according to item 1 , wherein obtaining the resource data comprises obtaining the resource data from one or more data sources.
[0127] Item 3. The method according to any of the previous items, wherein the resource data comprises one or more of: configuration management data, resource control data, and operational data associated with the resources.
[0128] Item 4. The method according to any of the previous items, wherein generating, based on the resource data and the user input, the data structure associated with the plurality of resources comprises concatenating the resource data and the user input.
[0129] Item 5. The method according to any of the previous items, wherein validating the data structure comprises: obtaining a verification input from the first user regarding the data structure; and validating, based on the verification input, the data structure.
[0130] Item 6. The method according to any of the previous items, wherein generating the dependency map based on the validated data structure comprises: determining a confidence score for a change in the first status parameter, wherein the confidence score indicates a confidence of the change of the first status parameter; and generating the dependency map based on the confidence score. Item 7. The method according to any of the previous items, wherein generating the dependency map based on the confidence score comprises: determining whether the confidence score meets a criterion; and upon determining that the confidence score meets the criterion, generating the dependency map based on the data structure.
[0131] Item 8. The method according to any of the previous items, wherein generating the dependency map based on the validated data structure comprises generating the dependency map based on each status parameter of the resources provided in the data structure.
[0132] Item 9. The method according to any of the previous items, wherein the method comprises: obtaining periodically status parameters associated with the resources comprising a second status parameter associated with the second resource; and updating the dependency map periodically based on the periodically obtained status parameters.
[0133] Item 10. The method according to any of the previous items, wherein providing the generated dependency map comprises transmitting the generated dependency map to a second user.
[0134] Item 11 . The method according to any of the previous items, wherein providing the dependency map comprises displaying a user interface object representative of the dependency map. Item 12. An electronic device comprising memory circuitry, processor circuitry, and an interface, wherein the electronic device is configured to perform any of the methods according to any of items 1 -1 1.
[0135] Item 13. A computer readable storage medium storing one or more programs, the one or more programs comprising instructions, which when executed by an electronic device cause the electronic device to perform any of the methods of items 1 -11.
[0136] The use of the terms “first”, “second”, “third” and “fourth”, “primary”, “secondary”, “tertiary” etc. does not imply any particular order, but are included to identify individual elements. Moreover, the use of the terms “first”, “second”, “third” and “fourth”, “primary”, “secondary”, “tertiary” etc. does not denote any order or importance, but rather the terms “first”, “second”, “third” and “fourth”, “primary”, “secondary”, “tertiary” etc. are used to distinguish one element from another. Note that the words “first”, “second”, “third” and “fourth”, “primary”, “secondary”, “tertiary” etc. are used here and elsewhere for labelling purposes only and are not intended to denote any specific spatial or temporal ordering. Furthermore, the labelling of a first element does not imply the presence of a second element and vice versa.
[0137] It may be appreciated that Figs. 1 -5 comprises some circuitries or operations which are illustrated with a solid line and some circuitries or operations which are illustrated with a dashed line. The circuitries or operations which are comprised in a solid line are circuitries or operations which are comprised in the broadest example embodiment. The circuitries or operations which are comprised in a dashed line are example embodiments which may be comprised in, or a part of, or are further circuitries or operations which may be taken in addition to the circuitries or operations of the solid line example embodiments. It should be appreciated that these operations need not be performed in order presented. Furthermore, it should be appreciated that not all of the operations need to be performed. The exemplary operations may be performed in any order and in any combination.
[0138] It is to be noted that the word "comprising" does not necessarily exclude the presence of other elements or steps than those listed.
[0139] It is to be noted that the words "a" or "an" preceding an element do not exclude the presence of a plurality of such elements. It should further be noted that any reference signs do not limit the scope of the claims, that the exemplary embodiments may be implemented at least in part by means of both hardware and software, and that several "means", "units" or "devices" may be represented by the same item of hardware.
[0140] The various exemplary methods, devices, nodes and systems described herein are described in the general context of method steps or processes, which may be implemented in one aspect by a computer program product, embodied in a computer- readable medium, including computer-executable instructions, such as program code, executed by computers in networked environments. A computer-readable medium may include removable and non-removable storage devices including, but not limited to, Read Only Memory (ROM), Random Access Memory (RAM), compact discs (CDs), digital versatile discs (DVD), etc. Generally, program circuitries may include routines, programs, objects, components, data structures, etc. that perform specified tasks or implement specific abstract data types. Computer-executable instructions, associated data structures, and program circuitries represent examples of program code for executing steps of the methods disclosed herein. The particular sequence of such executable instructions or associated data structures represents examples of corresponding acts for implementing the functions described in such steps or processes.
[0141] Although features have been shown and described, it will be understood that they are not intended to limit the claimed disclosure, and it will be made obvious to those skilled in the art that various changes and modifications may be made without departing from the scope of the claimed disclosure. The specification and drawings are, accordingly, to be regarded in an illustrative rather than restrictive sense. The claimed disclosure is intended to cover all alternatives, modifications, and equivalents.
Claims
CLAIMS1. A method, performed by an electronic device, the method comprising: obtaining resource data associated with a plurality of resources including a first resource and a second resource; obtaining, from a first user, a user input regarding the first resource; generating, based on the resource data and the user input, a data structure associated with the plurality of resources, wherein the data structure comprises a first status parameter of the first resource; validating the data structure; generating a dependency map based on the validated data structure, wherein the dependency map comprises the first status parameter and a relation parameter indicative of a dependency between the first resource and the second resource; and providing the generated dependency map.
2. The method according to claim 1 , wherein obtaining the resource data comprises obtaining the resource data from one or more data sources.
3. The method according to any of the previous claims, wherein the resource data comprises one or more of: configuration management data, resource control data, and operational data associated with the resources.
4. The method according to any of the previous claims, wherein generating, based on the resource data and the user input, the data structure associated with the plurality of resources comprises concatenating the resource data and the user input.
5. The method according to any of the previous claims, wherein validating the data structure comprises: obtaining a verification input from the first user regarding the data structure; and validating, based on the verification input, the data structure.
6. The method according to any of the previous claims, wherein generating the dependency map based on the validated data structure comprises:determining a confidence score for a change in the first status parameter, wherein the confidence score indicates a confidence of the change of the first status parameter; and generating the dependency map based on the confidence score.
7. The method according to any of the previous claims, wherein generating the dependency map based on the confidence score comprises: determining whether the confidence score meets a criterion; and upon determining that the confidence score meets the criterion, generating the dependency map based on the data structure.
8. The method according to any of the previous claims, wherein generating the dependency map based on the validated data structure comprises generating the dependency map based on each status parameter of the resources provided in the data structure.
9. The method according to any of the previous claims, wherein the method comprises: obtaining periodically status parameters associated with the resources comprising a second status parameter associated with the second resource; and updating the dependency map periodically based on the periodically obtained status parameters.
10. The method according to any of the previous claims, wherein providing the generated dependency map comprises transmitting the generated dependency map to a second user.