Sorting data elements of a given set of data elements
The method addresses the challenge of sorting data elements in communication systems by evaluating their usage types, identifying critical elements, and reducing computational resources, enhancing data processing efficiency and utilization.
Patent Information
- Application Number
- JP2025179413
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2020-05-18
- Filing Date
- 2025-10-24
- Publication Date
- 2026-01-27
AI Technical Summary
In large communication systems, efficiently sorting vast quantities of data elements based on their impact levels for different types of communication is challenging due to the complexity and computational resources required for evaluating the significance of each data element.
A method for sorting data elements involves evaluating a first and second type of usage for each data element, determining a subset of candidate data elements, and sorting them based on these evaluations to reduce computational resources and improve efficiency.
The method allows for efficient sorting and processing of critical data elements, reducing computational costs and enabling better utilization of data elements in communication systems, particularly for applications like artificial intelligence and data representation.
Smart Images

Figure 2026012859000001_ABST
Abstract
Description
[Technical Field]
[0001] The present disclosure relates to the field of digital computer systems, and more particularly to a method for sorting data elements of a given set of data elements. [Background technology]
[0002] In communication systems, especially those used by large enterprises, vast quantities of data elements are created and processed. The processing of such data elements may involve transferring the data elements from one component of the communication system to another or storing the data elements in a storage device of the communication system. The processing of the data elements may be performed according to rules. The rules by which each of the data elements may be processed may vary depending on the role, impact, or importance of each data element in the communication system. Given the vast quantity of data elements in a communication system, it requires a great deal of knowledge for a human to assign an appropriate level of impact or importance to each of the data elements. Summary of the Invention
[0003] Various embodiments provide computer-implemented methods, computer program products, and computer systems for sorting data elements of a given set of data elements, as described by the subject matter herein. Advantageous embodiments are described in the following disclosure. The embodiments of the present disclosure may be freely combined unless they are mutually exclusive.
[0004] In one aspect, the present disclosure relates to a computer-implemented method for sorting data elements of a given set of data elements, the method comprising: performing an evaluation of a first type of usage of each data element of a given set of data elements, the result of each evaluation of the first type of usage of each data element being indicative of an impact level of the respective data element with respect to communications of the first type in the communications system; determining a set of candidate data elements for sorting in response to an evaluation of the first type usage of each data element of the given set of data elements, wherein the set of candidate data elements is a proper subset of the given set of data elements; performing an evaluation of the second type of use of each data element of the set of candidate data elements, the result of each evaluation of the second type of use of the respective data element indicating an impact level of the respective data element with respect to the second type of communication in the communication system; sorting the data elements of the set of candidate data elements according to an evaluation of the second type of use of each data element of the set of candidate data elements; providing sorted data elements of a set of candidate data elements; receiving, in response to providing the sorted data elements of the set of candidate data elements, a request for data processing based on the provided sorted data elements of the set of candidate data elements; Includes.
[0005] In another aspect, the present disclosure relates to a computer program product including a computer-readable storage medium having program instructions embodied therein, the computer-readable program code configured to perform a method according to the aforementioned embodiments.
[0006] In another aspect, the present disclosure relates to a computer system for sorting data elements of a given set of data elements, the computer system comprising: performing an evaluation of a first type of use of each data element of a given set of data elements, the result of each evaluation of the first type of use of each data element being indicative of an impact level of the respective data element with respect to communications of the first type in the communications system; determining a set of candidate data elements for sorting in response to an evaluation of the first type usage of each data element of the given set of data elements, wherein the set of candidate data elements is a proper subset of the given set of data elements; performing an evaluation of the second type of use of each data element of the set of candidate data elements, the result of each evaluation of the second type of use of the respective data element indicating an impact level of the respective data element with respect to the second type of communication in the communication system; sorting the data elements of the set of candidate data elements according to an evaluation of the second type of use of each data element of the set of candidate data elements; providing sorted data elements of a set of candidate data elements; receiving a request for data processing based on the provided sorted data elements of the set of data element candidates in response to providing the sorted data elements of the set of data element candidates; The method is configured to cause the [Brief explanation of the drawings]
[0007] In the following, embodiments of the present disclosure will be described in more detail by way of example only. The drawings included in this disclosure are incorporated in and form a part of the specification. They illustrate embodiments of the present disclosure and, together with the description, serve to explain the principles of the present disclosure. The drawings are merely illustrative of typical embodiments and are not intended to limit the present disclosure.
[0008] [Figure 1] 1 illustrates a first computer system for sorting data elements according to an embodiment of the present disclosure. [Figure 2] 1 illustrates a given set of data elements, candidate data elements, and a second given set of data elements according to an embodiment of the present disclosure. [Figure 3] 1 illustrates a block diagram of a communication system according to an embodiment of the present disclosure. [Figure 4]4 shows a flowchart of a computer-implemented method for sorting data elements of a given set of data elements shown in FIG. 2 using the communication system shown in FIG. 3 according to an embodiment of the present disclosure.
[0009] While the embodiments described herein are amenable to various modifications and alternative forms, certain of which have been shown by way of example in the drawings and will be described in detail. It is to be understood that the particular embodiments described are not to be construed in a limiting sense. On the contrary, the intention is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the invention. DETAILED DESCRIPTION OF THE INVENTION
[0010] The present disclosure relates to the field of digital computer systems, and more particularly to methods for sorting data elements of a given set of data elements. The present disclosure is not necessarily limited to such applications, but various aspects of the present disclosure can be understood through the discussion of various examples using this context.
[0011] The data elements of a given set of data elements may be arranged in the form of a table, vector, or matrix. Additionally, the data elements may be physically stored in a storage device of a communication system. As used herein, the term "given set of data elements" refers to a set of data elements accessible within a communication system. To be accessible, the given set of data elements may be loaded into a storage device.
[0012] Also, in this specification, a data element of a given set of data elements may be referred to as a given data element. The evaluation of the first type usage of each given data element may be performed using the same evaluation method for each given data element. This may reduce the comparison of the evaluation of the first type usage of the given data element.
[0013] A data element of a set of data element candidates is also referred to herein as a data element candidate. Preferably, the evaluation of the second type of use of each data element candidate may be performed using the same evaluation method for each data element candidate.
[0014] The method may enable efficient sorting of given data elements, where first type usage and second type usage are taken into account. By applying the evaluation of second type usage to the data element candidates instead of applying the evaluation of second type usage to the given data elements including the data element candidates, computational resources may be reduced as the set of data element candidates is a proper subset of the given set of data elements. The set of data element candidates being a proper subset of the given set of data elements means that the number of data element candidates is less than the number of given data elements. Preferably, the number of given data elements is at least twice, more preferably ten times, the number of data element candidates.
[0015] Because the data element candidates are provided in a sorted manner, the data element candidates can be used in sorted form in response to requests for data processing. Data processing can be based on the provided sorted data element candidates. For example, a portion of the data element candidates can be selected for data processing based on criteria and the data element candidates sorted accordingly. Data processing can include updating, maintaining, or modifying the data element candidates or selected portions of the data element candidates. Further, data processing can include using the data element candidates or selected portions of the data element candidates to create a component of a database or communication system, such as an artificial intelligence module. Sorting the data element candidates can reduce data processing. For example, data processing can be performed in a scheduled manner, and a schedule can be created based on the sorted state of the data element candidates. In another example, data processing can be performed using only a selected portion of the sorted data element candidates.
[0016] In general, the method allows data processing to be performed using only the candidate data elements or only a selected portion of the candidate data elements. Thus, the amount of effort required for data processing may be less than the effort required to process all given data elements. The candidate data elements, and in particular the selected portion of the candidate data elements, may be considered more important than the rest of the given data elements. In most cases, the importance of each given data element and each candidate data element may correspond to a respective impact level with respect to the first and second types of communications, respectively.
[0017] The candidate data elements, preferably a selected portion of the candidate data elements, may be considered critical data elements because their impact on the communication system may be greater than the rest of the data elements. For example, their greater impact may result in the critical data elements' information having a stronger influence on the generation of the artificial intelligence module compared to the rest of the data elements. Thus, the critical data elements may contain valuable information about the communication system and therefore may be protected with greater effort than the rest of the data elements.
[0018] The method further allows for the generation of greater usage of data element candidates, or only selected portions of data element candidates, within a communication system compared to the remainder of a given data element, such that the impact of these data elements on the communication system may be greater than the impact of the remainder of the data element.
[0019] To further reduce computational resources, the computational cost of evaluating the first type of usage for a single given data element may be lower than the computational cost of evaluating the second type of usage for a single candidate data element, which may apply to all given data elements and all candidate data elements.
[0020] As used herein, the term "indicative of an impact level" means that the result of each assessment of the first or second type of use can be used as an indicator for estimating the impact level of the respective data element with respect to the first and second type of communication, respectively. In a simple embodiment, the result of each assessment can be in the form of a respective score, with a higher value of the respective score indicating a higher impact level of the respective data element compared to a lower value of the respective score.
[0021] The first and second types of communication can be defined by a first and second communication network capable of carrying out the first and second types of communication, respectively. The first and second communication networks are part of a communication system and are distinct from each other. The first and second communication networks can each include one or more transmitting components configured to transmit given data elements and data element candidates and one or more receiving components configured to receive the given data elements and data element candidates, respectively. The transmitting components of the first communication network can be different from the transmitting components of the second communication network. The same can be true for the receiving components of the two networks. This type of definition of the first and second types of communication takes advantage of the fact that the higher the level of importance of one of the given data elements, the greater the number of transmitting and / or receiving components that process the respective data element.
[0022] The first and second type uses can be defined by the first and second type data processing of the given data element and candidate data element, respectively. The first and second type data processing are different from each other. In general, the first and second type uses can have different impacts on the communication system. For example, the first type use can generate a first further data element, and the second type use can generate a second further data element, where the first further data element is different from the second further data element.
[0023] Referring to the above definitions of the first and second types of use, the first and second types of communication may alternatively be defined by steps of data processing when performing the first and second types of use, each of which may include transmitting a given data element and a candidate data element from a volatile storage device to a further volatile storage device.
[0024] The first and second types of communication may be associated with first and second types of uses, respectively. For example, the first and second types of communication may be the above-mentioned steps of data processing, or may enable the first and second types of communication by transferring a given data element in the first communications network and a potential data element in the second communications network, respectively.
[0025] The evaluation of the first and second type uses may be performed by examining the first and second type communications, respectively, thereby alleviating the need to determine the significance of a given data element and a given data element candidate with respect to the first and second type uses, respectively. The examination of the first and second type communications may be performed by examining whether or how many times each given data element and each data element candidate is used in a single step of the first and second type communications when performing the first and second type uses, respectively.
[0026] However, the method is not limited to examining first and second type communications. In general, regardless of how the evaluation of first and second type usage may be performed, the results of the evaluation of first and second type usage of each given data element and candidate data element may indicate an impact level of each given data element and candidate data element with respect to the first and second type communications, respectively. According to some embodiments, the first type usage may be designated as the first type communication. Additionally or alternatively, the second type usage may be designated as the second type communication.
[0027] According to some embodiments, evaluating the first type of use of each data element of the given set of data elements includes determining a first impact value for each data element. The first impact value for each data element may indicate an impact level of each given data element with respect to the first type of communication in the communication system. The first impact value may enable a human to easily assess the impact level of each given data element. In one example, the first impact value for each given data element may be compared to a first threshold. Given data elements whose first impact values may exceed the first threshold may be selected as candidate data elements.
[0028] According to some embodiments, evaluating the second type of use of each data element of the set of data element candidates includes determining a second impact value for each data element candidate. The second impact value for each data element may indicate the level of impact of the respective data element with respect to the second type of communication in the communication system. In a similar manner to the first impact value, the second impact value may allow a human to easily evaluate the level of impact of each data element candidate. Sorting may be performed with respect to the second impact values of the data element candidates. Preferably, the data element candidates may be listed in descending order of their second impact values.
[0029] Preferably, the first and second influence values may be unique scores for assessing the influence level of each given data element and each candidate data element, respectively.
[0030] According to some embodiments, the communication system includes a set of machine learning modules, and the first or second type use of the given set of data elements and the set of candidate data elements includes application of each data element to at least one of the set of machine learning modules. For these embodiments and below, the term "first type use of each data element" refers to the first type use of each given data element. Similarly, the term "second type use of each data element" refers to the second type use of each candidate data element. The application of each data element to at least one of the set of machine learning modules can be use of each data element to train or test one, two, or more of the machine learning modules (ML-modules).
[0031] The evaluation of the first type of use of each data element can be performed by calculating a first influence value, the value of which corresponds to the number of machine learning modules to which each given data element is applied. Similarly, the evaluation of the second type of use of each data element can be performed by calculating a second influence value, the value of which corresponds to the number of machine learning modules to which each candidate data element is applied. In either case, higher values of the first and second influence values can correspond to a greater number of machine learning modules to which each data element is applied than lower values.
[0032] The term "machine learning" refers to computer algorithms used to extract useful information from input datasets and output datasets related to the input datasets. Machine learning can include, but is not limited to, the training and testing of one of the machine learning modules. The input datasets and output datasets can be constructed based on given data elements, candidate data elements, or both. Information can be extracted by constructing a probabilistic model in an automated manner. Machine learning can be performed using one or more known machine learning algorithms, such as linear regression, backpropagation, k-means, or a classification algorithm. One execution of a machine learning algorithm is considered training. A probabilistic model can be, for example, a formula or set of rules that allows predicting a category from a set of categories based on one of the input datasets, or grouping instances corresponding to that input dataset into clusters. A probabilistic model can be configured to provide a confidence score for each prediction or grouping it performs. The confidence score for a prediction or grouping can indicate the accuracy of the prediction or grouping, respectively.
[0033] In another example, the evaluation of the first type of use of each data element can be performed by calculating a first impact value whose value corresponds to the number of categories in a set of categories to which each given data element is applied to perform predictions based on the respective data element. Similarly, the evaluation of the second type of use of each data element can be performed by calculating a second impact value whose value corresponds to the number of categories in a set of categories to which each candidate data element is applied to perform predictions based on the respective data element.
[0034] As used herein, the term "module" refers to any known or future-developed hardware, software (e.g., executable programs), artificial intelligence, fuzzy logic, or combination thereof for performing the function associated with the module, or which is the result of performing the function associated with the module. For example, an ML-module can be a neuron network.
[0035] The first or second type of communication may be a loading of a given data element and a candidate data element, respectively, from a first persistent storage device of the communication system to an input channel of one of the ML-modules. In another example, the first or second type of communication may be a processing operation of training one of the ML-modules.
[0036] The set of machine learning modules can have a strong impact on the communication system. For example, the set of machine learning modules can be designed to perform a first decision process or a first data analysis, or both, that influences a first further communication in the communication system. The first further communication can be sending results calculated by the set of machine learning modules to an output device, where the machine learning modules are in a training state. A high usage rate of a given data element or one of the candidate data elements for the set of machine learning modules can correlate to a high importance of that respective data element for the communication system. Therefore, by considering first and second types of usage for the set of machine learning modules, sorting can be reduced.
[0037] In another example, the evaluation of the use of the first and / or second type of each data element can be performed by calculating first and second influence values, respectively, such that the values are equal to or directly related to at least one partial derivative of the machine learning module calculated based on the respective data elements. In this way, the first and / or second influence values of each data element can be correlated to the training impact of the respective machine learning module itself.
[0038] According to some embodiments, a communication system includes a data representation element, and a first or second type of use of each data element in a given set of data elements and a set of candidate data elements includes, respectively, the inclusion in the data representation element of information provided by the respective data element. The data representation element can be a document, chart, list, or table containing information about the given data element and the candidate data element. The data representation element can be configured to perform a second decision process or a second data analysis, or both, that can influence a second, further communication in the communication system. The second, further communication can also be a visualization of the second decision process or the second data analysis, or both, by an output device. The second data analysis can be used for human-driven data analysis. Thus, evaluating the first or second, or both, type of use with respect to the data representation element can enable the importance of the given data element and the candidate data element, respectively, to be evaluated with reference to visualization elements that are important to human decision-making.
[0039] The first and / or second influence values of each data element of the given set of data elements and the set of candidate data elements, respectively, may be equal to the number of times the given data element and candidate data element is included in the data representation element. The first and second types of communication may include loading the given data element and / or candidate data element from the second persistent storage device into a processor of the communication system to create the data representation element.
[0040] The data representation element may also include links linking given data elements and / or candidate data elements to one another, in which case the first and / or second influence value of each data element may be equal to the number of times the respective data element is used in links relating to the data representation element.
[0041] According to some embodiments, a communications system includes a software development architecture, and using the first or second type of each data element in a given set of data elements and a set of candidate data elements, respectively, includes applying the respective data element to the software development architecture. Such embodiments can enable evaluation of the impact of a given data element and / or candidate data element on software development for the communications system. The software development architecture can include different software development platforms, preferably including allocated memory space on a processor and / or different user interfaces respectively assigned to different software developers. The user interfaces can include different saved settings and routines adapted to each one of the software developers. The user interfaces can also be known as "notebooks." The user interfaces and / or software platforms allow the type of application of a given data element and / or candidate data element to be determined, preferably by the developer.
[0042] The type of application of the given data element and / or candidate data element to the software development architecture can be use as a training or testing data set for building a data analysis module. The data analysis module can include the machine learning module described above. The first and second types of communication can include loading the given data element and candidate data element, respectively, into one or more of the allocated memory spaces. The first and second impact values of each data element in the set of given data elements and the set of candidate data elements, respectively, can be equal to the number of times the respective data element is used in the software development architecture, preferably in different notebooks.
[0043] According to some embodiments, the communication system includes a search engine, and the first or second type of use of each data element of the given set of data elements and the set of candidate data elements includes applying the respective data element to the search engine. Such embodiments may enable evaluation of the use of each data element with reference to the search engine. According to such embodiments, the first and second influence values of each data element of the given set of data elements and the set of candidate data elements, respectively, may be equal to the number of times the respective data element is referenced in searches performed by the search engine.
[0044] Applying a given data element and / or candidate data elements to a search engine can include generating a search string, which can include a name or further information for identifying each data element. The first and / or second type of communication in such embodiments can be in the form of transmitting the search string to a component of the communication system. The component can include a machine learning module as described above. Additionally, the first and / or second type of communication can include comparing the search string, or the name or further information for identifying each data element, with stored search strings.
[0045] According to some embodiments, the communication system includes a connection architecture, and the first or second type of use of each data element in the given set of data elements and the set of candidate data elements, respectively, includes applying the respective data element to the connection architecture. The connection architecture may include links between the data elements. According to such embodiments, the first and second influence values of each data element in the given set of data elements and the set of candidate data elements, respectively, may be equal to the number of times the respective data element is linked to one other data element of the given data elements. In general, the more strongly connected a particular one of the data elements is among the given set of data elements or candidate data elements, the more likely this particular one of the data elements may be important to the communication system. Thus, such embodiments may reduce sorting. The first and second types of communication according to such embodiments may be in the form of transmitting the contents of an exemplary memory space storing information about the strongly connected data elements to a component of the communication system that processes data elements linked to the strongly connected data elements.
[0046] Furthermore, such embodiments can enable the design of graphs that include links. Graphs can facilitate visualization of connections between data elements in a human-friendly manner. For example, high-density zones in a graph can indicate regions of strongly connected data elements, which may have higher importance compared to the rest of the data elements. Thus, graphs can reduce sorting.
[0047] According to some embodiments, the communication system includes a ranking system, and the first or second type of use of each data element of the given set of data elements and the set of candidate data elements, respectively, includes applying the respective data element to the ranking system. The application of each data element may be in the form of a list of the given data elements and candidate data elements, respectively, in the ranking system. According to such embodiments, the first and second influence values of each data element of the given set of data elements and the set of candidate data elements, respectively, may be a rank number of the respective data element. According to such embodiments, the first and second types of communication may be a comparison of the respective ranking numbers of the given data elements and candidate data elements, respectively, with a given ranking number. This comparison may be performed in response to a request for data elements with ranking numbers above the given ranking number. The ranking numbers of the data elements may be provided by collecting user votes. One advantage of applying data elements to a ranking system may be the ability to consider human judgment in performing the sorting.
[0048] According to some embodiments, the communication system includes a set of applications, and the first or second type of use of each data element in the given set of data elements and the set of candidate data elements includes applying the respective data element to the set of applications. Such embodiments can enable tracking the impact of each data element on the computer system's applications. In general, a high frequency of use of one of the data elements can indicate a high importance of this data element with respect to the communication system. According to such embodiments, the first and second impact values of each data element in the given set of data elements and the set of candidate data elements can each be equal to the number of times the respective data element is processed by the set of applications. The application can include the data analysis module described above. The data analysis module can process the given data elements and / or candidate data elements, preferably by generating further data and / or visualizing these data elements, e.g., by generating the data representation element described above. The first and second types of communication can include reading the given data elements and / or candidate data elements, and / or transmitting the generated further data to a component of the communication system.
[0049] According to some embodiments, the communication system includes a nomenclature. The nomenclature includes terms for describing data elements. According to these embodiments, the first or second use of each data element of the given set of data elements and the set of candidate data elements, respectively, includes assigning the respective data element to a selected term of the nomenclature. In one example, each data element can be assigned to more than one selected term of the nomenclature. The selected term(s) can describe the respective data element in an intuitive manner and can help a human understand the meaning of the respective data element with respect to the communication system. In most cases, each data element can be assigned to a term(s) selected by a user of the communication system. The number of terms to which each data element is assigned can correlate to the importance of the respective data element. The higher the number, the higher the importance.
[0050] Such an embodiment can reduce the need to account for the importance of each data element with respect to the nomenclature. According to such an embodiment, the first and second influence values of each data element of the given set of data elements and the set of candidate data elements can each be equal to the number of times the respective data element is assigned to one of the terms of the nomenclature. Furthermore, the first and / or second influence values can also be calculated for different types of terms of the nomenclature. The different types can be classified according to their importance to the communication system. The communication of the first and second types can include performing a comparison between the search term and the term to which the respective data element is assigned.
[0051] According to some embodiments, the evaluation of the first and / or second use of each data element of the given set of data elements and the set of candidate data elements is performed by comparing the selected term to which the respective data element is assigned with a further term, and the further data element is assigned to the further term and marked as being significant with respect to the communication system.
[0052] Because the further data element has been marked as important, the probability that the data elements of the given set of data elements and the set of candidate data elements assigned to the further term are important with reference to the communication system may be increased. Therefore, such an embodiment may reduce sorting. According to such an embodiment, the first and second influence values of each data element of the given set of data elements and the set of candidate data elements may be the number of times the selected term assigned to the respective data element is equal to the further term. Thus, the first and second influence values of each data element may be 0 or 1. According to such an embodiment, the first and second types of communication may include performing a comparison between the further term and the term to which the respective data element is assigned.
[0053] According to some embodiments, the evaluation of the first and / or second usage of each data element of the given set of data elements and the set of candidate data elements, respectively, is performed by comparing the selected term to which each data element is assigned with a second, further term, the second, further term being provided by a user of the communication system. Such embodiments may allow for the inclusion of user knowledge in the evaluation of the importance of the data element taking nomenclature into account. The first and second influence values of each data element of the given set of data elements and the set of candidate data elements, respectively, may be the number of times the selected term of the respective data element occurs, equal to the second, further term. According to such embodiments, the first and second types of communication may include performing a comparison of the second, further term with the selected term to which each data element is assigned.
[0054] According to some embodiments, the communication system includes governance rules, and data elements of the given set of data elements are assigned to the governance rules. In such embodiments, the method further includes performing an evaluation of the first or second type of use of each data element of the given set of data elements and the set of candidate data elements, respectively, with respect to application of the respective data elements to the governance rules. The governance rules can include a set of rules that determine acceptable types of processing for a given data element, candidate data element, or both.
[0055] The application of a given data element or candidate data element, or both, to governance rules can take the form of assigning each data element to at least one of the governance rules. In response to assigning each data element to at least one of the governance rules, processing of each data element can be restricted to the assigned governance rules. According to such an embodiment, the first and second influence values of each data element in the given set of data elements and the set of candidate data elements can each be equal to the number of times the respective data element is assigned to one of the governance rules. It is contemplated that the more important a data element is, the more attention it will receive with respect to governance rules, e.g., the more governance rules to which the data element can be assigned. Thus, such an embodiment can reduce sorting of data element importance. The communication system can include a server that stores information about which data elements can be assigned to which governance rules. The first or second, or both, types of communication can be sending a request from one of the components of the communication system to the server. The request can include a requested type of data processing for selected data elements of the given set of data elements. The requested type of data processing may or may not be approved according to governance rules that may be assigned to selected data elements.
[0056] According to some embodiments, the governance rules include protection rules relating to the protection of data elements of a given set of data elements assigned to the protection rules. The governance rules may not only restrict data processing of the data elements within the communication system, but may also result in protection algorithms according to the protection rules when a given data element and / or candidate data element is processed within the communication system.
[0057] The protection algorithm may include encrypting information about a given data element and / or candidate data element and / or restricting transmission of these data elements to specific components of the communication system or external components. The first and / or second type of communication may include transmitting a public key from one component of the communication system to another component of the communication system. Strongly protected data elements tend to have higher importance in the communication system. Thus, such embodiments may reduce sorting. According to such embodiments, the first and second influence values of each data element in the given set of data elements and the set of candidate data elements may each be equal to the number of times the respective data element is assigned to one of the governance rules related to data protection.
[0058] According to some embodiments, the first threshold value may vary depending on the above-mentioned variations in the first use of a given data element. The first threshold value may be adaptable by a user of the communication system. Alternatively or additionally, the first threshold value may be determined depending on at least one impact value of the marked data element, and the marked data element may be marked as important to the communication system. In another example, the first threshold value may be calculated depending on the average value of the impact values of the marked data element. Similarly, the marked data element may be marked as important to the communication system. The impact value of a marked data element or the impact value of a marked data element may be determined by evaluating the type of use and the marked data element and the marked data element of the same type of use, which may be evaluated when determining the first impact value of the given data element. Therefore, the method for calculating the impact value of a marked data element or the impact value of a marked data element may be the same as the method for calculating the first impact value for a given data element.
[0059] According to some embodiments, the method further includes determining an overall usage score for each data element of the set of candidate data elements as a function of a plurality of different types of usage of the respective data element, the plurality of different types of usage including at least a first and a second type of usage, the overall usage score indicating an overall level of impact of the respective data element with respect to the communication system. According to such embodiments, sorting is performed based on the overall usage score for each data element of the set of candidate data elements. According to such embodiments, or in general, the first usage or the second usage, or both, may each be in the form of a first aggregation of the different types of usage of the given data element and a second aggregation of further different types of usage of the candidate data element. Each of the different types of usage of the first aggregation may include one of the aforementioned variations that the first usage may include. Similarly, each of the further different types of usage of the second aggregation may include one of the aforementioned variations that the second usage may include. The number of different types of usage and the number of further different types of usage may range from 1 to 10.
[0060] An overall usage score for each data element candidate may be calculated by determining a weighted sum of the first influence value, the second influence value, and preferably at least a first further influence value of the respective data element candidate. For example, the overall usage score for each data element candidate may be calculated as a weighted sum of the first influence value, the second influence value, preferably the first further influence value, and preferably the second, third, fourth, fifth, sixth, seventh, and / or eighth further influence values of the respective data element candidate.
[0061] The first impact value, the second impact value, and the first, second, third, fourth, fifth, sixth, seventh, and / or eighth further impact values for each data element candidate may each be determined according to one of the embodiments described above describing the determination of the first and / or second impact value for each given data element and each data element candidate.
[0062] For example, the first impact value, the second impact value, and the first, second, third, fourth, fifth, sixth, seventh, and / or eighth further impact values of each data element candidate may be equal to or correlated with the number of times each data element candidate is assigned to one of the nomenclature terms, the number of machine learning modules to which each data element candidate is applied, the number of times each data element candidate is used for linking, the number of times each data element candidate is used within a software development architecture, the number of times each data element candidate is used in searches performed by a search engine, the number of times each data element candidate is linked to one other data element of a given data element, a ranking number of each data element candidate, the number of times each data element candidate is processed by a set of applications, the number of times each data element candidate is included in a data representation element, or the number of times each data element candidate is assigned to one of the governance rules.
[0063] Sorting may be performed with respect to the overall usage scores of the data element candidates. Preferably, the data element candidates may be listed in descending order of their overall usage scores. The plurality of different types of usage may include at least three different types of usage. The more different types of usage considered for sorting, the more accurately the importance of each data element candidate may be assessed. The three different types of usage may include variations of the first and second types of usage described above.
[0064] According to some embodiments, the method further includes displaying metadata of the data elements of the set of data element candidates to select a subset of the sorted data elements of the set of data element candidates for a request for data processing. The metadata includes information related to the generation of the overall usage score of each data element. Such embodiments can enable a user to understand the generation of the overall usage score of each data element candidate. The metadata can include a single value of each data element candidate's first impact value, second impact value, second further impact value, third further impact value, fourth further impact value, fifth, sixth, seventh, and / or eighth further impact value. A user can use the metadata to select a subset of the sorted data element candidates.
[0065] Referring now to Figure 1, Figure 1 illustrates a first computer system 100 for sorting data elements 1 (shown in Figure 2) of a given set 2 (shown in Figure 2) of data elements in a communication system 3 (shown in Figure 3). The first computer system 100 may be adapted to perform method operations as described in this disclosure. The first computer system 100 may include a first processor 102, a first memory 103, a first I / O circuit 104, and a first network interface 105 coupled together by a first bus 106.
[0066] The first processor 102 may represent one or more processors (e.g., microprocessors). The first memory 103 may include any one or combination of volatile memory elements (e.g., random access memory (RAM, such as DRAM, SRAM, SDRAM, etc.)) and non-volatile memory elements (e.g., ROM, erasable programmable read-only memory (EPROM), electronically erasable programmable read-only memory (EEPROM), programmable read-only memory (PROM)). In some embodiments, the first memory 103 may have a distributed architecture in which various components are located remotely from each other but can be accessed by the first processor 102.
[0067] The first memory 103, in combination with the first persistent storage device 107, can be used for local data and instruction storage. Preferably, a given set of data elements 2 (shown in FIG. 2) can be stored in the first persistent storage device 107. The first persistent storage device 107 includes one or more persistent storage devices and media controlled by the first I / O circuit 104. The first persistent storage device 107 can include, for example, magnetic, optical, magneto-optical, or solid-state devices for digital data storage, with fixed or removable media. Sample devices include hard disk drives, optical disk drives, and floppy disk drives. Sample media include hard disk platters, CD-ROMs, DVD-ROMs, BD-ROMs, floppy disks, etc.
[0068] The first memory 103 may include one or more separate programs, each of which includes an ordered list of executable instructions for implementing logical functions, particularly functions included in the examples. The software in the first memory 103 may also include a first suitable operating system (OS) 108. The first OS 108 essentially controls the execution of other computer programs to implement at least a portion of the methods described herein.
[0069] The first computer system 100 may be configured to perform an evaluation of a first type of use of each data element 1 of a given set 2 of data elements (shown in FIG. 2), which may be referred to herein as a first function. The results of each evaluation of the first type of use of each data element 1 may indicate an impact level of the respective data element 1 with respect to first type communications in the communications system 3 (shown in FIG. 3). The first type of use may be in the form of one of the above-mentioned types of first type use.
[0070] Furthermore, the first computer system 100 may also be configured to perform a comparison of the results of the evaluation of the first type of use of data elements 1 of a given set 2 of data elements with each other, which may be referred to as a second function in this specification.
[0071] Furthermore, the first computer system 100 may be configured to determine a set 4 of candidate data elements (shown in FIG. 2) for sorting depending on the comparison of the results of the evaluation of the first type of use, which may be referred to herein as a third function. The set 4 of candidate data elements may be a proper subset of the given set 2 of data elements.
[0072] Additionally, first computer system 100 may be configured to perform an evaluation of a second type of use of each data element 5 (shown in FIG. 2 ) in set of candidate data elements 4, which may be referred to herein as a fourth function. The results of each evaluation of the second type of use of each candidate data element 5 may indicate an impact level of each candidate data element 5 with respect to second type communications in communication system 3 (shown in FIG. 3 ). The second type of use may be in the form of one of the above-mentioned types of second type use.
[0073] Furthermore, the first computer system 100 may also be configured to sort the data elements 5 of the set of candidate data elements 4 depending on the results of the comparison of the evaluation results of the second type of use, which may be referred to herein as a fifth function. The sorting may be performed according to one of the variants described above.
[0074] Additionally, the first computer system 100 may also be configured to provide sorted data elements 5 of the set of candidate data elements 4, which may be referred to herein as a sixth function.
[0075] Additionally, the first computer system 100 may be configured to receive a request for data processing based on the provided sorted data elements 5 of the set of candidate data elements 4, which may be referred to herein as a seventh function. The first computer system 100 may receive the request in response to providing the sorted data elements 5 of the set of candidate data elements 4.
[0076] First computer system 100 can perform first, second, third, fourth, fifth, sixth, and seventh functions by executing first program 201, second program 202, third program 203, fourth program 204, fifth program 205, sixth program 206, and seventh program 207, respectively. First processor 102 can execute main program 200. Main program 200 can initiate the execution of programs 201, 202, 203, 204, 205, 206, and 207 (or additional programs, such as 208 and 209) on first processor 102.
[0077] As used herein, the term "program" refers to a set of instructions, including commands for initiating actions to be performed by the first processor 102 when the first processor 102 is capable of reading the commands. The set of instructions may be in the form of a computer-readable program, a routine, a subroutine, or part of a library, and may be executed by the first processor 102 and / or called by yet another program executed by the first processor 102. Preferably, the programs 200, 201, 202, 203, 204, 205, 206, and 207 may be executable programs compiled according to the type of hardware platform of the first computer system 100. The first memory 103 may include space for storing the programs 200, 201, 202, 203, 204, 205, 206, and 207. Hereinafter, this space may be referred to as the first functional memory 115.
[0078] 3 shows a communication system 3 that may include a central unit 31 and several user workstations. The central unit 31 may include components such as a first computer system 100, a set 40 of different machine learning modules 41, a first storage device 50 that may store data representation elements 51, a software development architecture 60, a search engine 70, a ranking system 80, and a nomenclature archive 90 for storing, and preferably maintaining, nomenclature. The nomenclature may include terms for describing data elements 1, preferably with respect to their use within the communication system 3.
[0079] The set of machine learning modules 40 can be any of the set of machine learning modules described above. For example, the input and output datasets of the machine learning module 41 can be constructed based on the given set of data elements 2 or the set of candidate data elements 4, or both. The first storage device 50 can store documents 52, charts 53, lists 54, reports 55 about past communications in the communication system 3, or tables 56 as data representation elements 51. The reports 55 can include a set of diagnoses about unsuccessful past communications and successful past communications.
[0080] The software development architecture 60 may include a first software development platform 61 for developing the machine learning module 41, a second software development platform 62 for developing a first application 161 for generating at least one of the data representation elements 51, a third software development platform 63 for developing the second application 162 for using the search engine 70, a fourth software development platform 64 for developing the third application 163 for using the ranking system 80, a fifth software development platform 65 for developing the fourth application 164, or a sixth software development platform 66 for developing the fifth application 165, or any combination thereof.
[0081] The fourth application 164 may be software directed to technical purposes, such as building an engineering part or simulating a fluid flow. Each of the software development platforms 61, 62, 63, 64, 65, 66 may use different memory spaces on the first persistent storage device 107 and the first memory 103 (shown in FIG. 1 ). Furthermore, each of the software development platforms 61, 62, 63, 64, 65, 66 may be assigned to the first developer workstation 34 or the second developer workstation 35, or both.
[0082] Additionally, the communication system 3 may include a first application server 401, a second application server 402, and a third application server 403. First, second, third, fourth, and fifth applications 161, 162, 163, 164, 165 may be installed on each of the first, second, and third application servers 401, 402, 403. The application servers 401, 402, 403 may each include a first, second, and third connection to the central unit 31 and further connections to at least one of the user workstations 34, 35 and / or a first end-user workstation 36 and a second end-user workstation 37. In some embodiments, the connection of each of the application servers 401, 402, 403 to the central unit 31 may be preferably achieved by a central communication port 33 of the central unit 31, allowing the connection of the application servers 401, 402, 403 to components on the central unit 31.
[0083] The communication system 3 can be used in the following manner: A fourth application 164 can be controlled and executed by a first end-user workstation 36, which can be connected to a first application server 401. In response to executing the fourth application 164, preferably on the first application server 401, a data element 1 can be generated, preferably on the first application server 401. The first end-user workstation 36 can be controlled by a first end-user, such as an engineer. The fourth application 164 can generate the data element 1 in a structured manner, and the data element 1 can include different partitions, such as a first, second, third, and fourth partition.
[0084] The data elements 1 can be labeled according to the nomenclature of the communication system 3 and their use in the communication system 3. Depending on the technical purpose of the fourth application 164, the nomenclature terms can differ. In the following example, a flow simulation of a technical object exposed to a flow is used as an example technical purpose. Thus, when the fourth application 164 is executed, a flow simulation is performed. According to this example, the nomenclature can include terms such as "CAD-data", "inlet velocity", "outlet velocity", "number of nodes", "number of elements", "flow solution", "pressure on the first surface", "pressure on the second surface", "boundary conditions", and "flow data".
[0085] At least some of the data elements 1 can be assigned to at least one term using the first end-user workstation 36. In one example, the first end user can assign terms to the data elements 1. However, in another example, the data elements 1 can be automatically assigned to terms, for example, by running a shell script on the first end-user workstation 36. A data element 1 can also be assigned to two or three terms. For example, one data element 1 can be assigned to the terms "flow rate data," "boundary conditions," and "inflow velocity." Hereinafter, the assignment of each data element 1 to a term is referred to as labeling, and can be considered one type of use of each data element 1. If one of the data elements 1 cannot be assigned to one of the terms, this can be considered an invalid assignment to the nomenclature. In this way, all uses of the data element 1 can be compared with the nomenclature. Labeling can be performed using the fourth application 164, preferably in combination with running the shell script described above.
[0086] The nomenclature may include at least one hierarchy. The hierarchy may include different levels, indicated, for example, by a first-generation parent term, a child term, and preferably a second-generation child term. Following the example above, the term "flow data" may be a first-generation parent term, the term "boundary conditions" may be a first-generation child term or a second-generation parent term, or both, and the term "inlet velocity" may also be a second-generation child term. Similarly, the term "flow solution" may be a first-generation child term or a third-generation parent term, or both, and each of the terms "pressure on the first surface" and "pressure on the second surface" may be a second-generation child term.
[0087] The nomenclature archive 90 may store nomenclature terms, their hierarchical levels or relationships between these terms, or combinations thereof. Considering relationships, the nomenclature archive 90 may store that the term "boundary conditions" is a child term of a first parent term "flow data," and the term "inlet velocity" is a child term of a second parent term "boundary conditions." Similarly, the nomenclature archive 90 may store that the term "flow solution" is a child term of the first parent term "flow data," and the terms "pressure on first surface" and "pressure on second surface" are each child terms of a third parent term "flow solution."
[0088] Considering the levels of hierarchy, the nomenclature archive 90 may store that the term "flow data" is assigned to a first level containing proper parents, the terms "boundary conditions" and "flow solution" are each assigned to a second level containing first-generation children, and the terms "inlet velocity," "pressure on first surface," and "pressure on second surface" are each assigned to a third level containing second-generation children. The phrase "proper parent" refers to a first-level term that does not have a parent and therefore cannot be a child of another term.
[0089] The fourth application 164 can generate data elements 1 such that data element 1 assigned to the term "CAD-data" belongs to a first partition, data element 1 assigned to the term "boundary conditions" belongs to a second partition, data element 1 assigned to the terms "number of nodes" and "number of elements" belongs to a third partition, and data element 1 assigned to the term "flow solution" belongs to a fourth partition.
[0090] The first end-user workstation 36 can start the execution of the third application 163 on the first application server 401 to use the ranking system 80. In response, a ranking value can be assigned to each of the aforementioned partitions, thereby assigning ranking values to the data elements 1 belonging to the respective partitions by controlling the third application 163 via the first end-user workstation 36. For example, a ranking value of "0.9" can be assigned to the first partition, a ranking value of "0.8" can be assigned to the second partition, a ranking value of "0.3" can be assigned to the third partition, and a ranking value of "1.0" can be assigned to the fourth partition. A ranking value of "1.0" can correspond to the highest possible importance of the data element belonging to the partition to which this ranking value is assigned. Importance refers to importance to the communication system 3. Thus, a ranking value of "0.0" can correspond to the lowest possible importance of the data element belonging to the partition to which this ranking value is assigned.
[0091] Alternatively or additionally, the ranking value may be assigned to at least one of the data elements 1 by controlling a third application 163 via the first end-user workstation 36.
[0092] The first application server 401 may execute the third application 163 to communicate with the ranking system 80. Through this communication, entries in the ranking database 81 may be generated, which may assign ranking numbers from "0.0" to "1.0" to each of the data elements 1, preferably with respect to the partition to which they belong. In one example, the ranking values assigned to the first, second, third, and fourth partitions may be transferred to the ranking system 80. Hereinafter, the generation of entries may be referred to as ranking. Ranking may also include assigning ranking values to partitions. Performing ranking may be considered a first yet another type of use of each data element of the data elements 1.
[0093] The fifth application 165 may be software for performing data management in the communication system 3. The data management may include processing the data elements 1 and / or transferring them from one of the application servers 401, 402, 403 to the central unit 31, preferably to the data server 99 of the central unit 31. The fifth application 165 may be controlled by a second end user workstation 37. The second end user workstation 37 may be controlled by a second end user, for example a data steward.
[0094] Data elements 1 may be processed differently according to the governance rules of the communication system 3. In one example, the governance rules may impose restrictions on data elements 1 depending on the nomenclature term to which they are assigned. For example, data elements 1 may be accessible to a select subset of users in the communication system 3 depending on the nomenclature term to which they are assigned. In another example, the governance rules may allow only a set of actions that can be applied to data elements 1 depending on the nomenclature term to which they are assigned.
[0095] In another example, governance rules may provide conditions under which certain actions must be performed when applicable to a data element 1, depending on the nomenclature term to which they are assigned. For example, governance rules may include protection rules related to the protection of selected portions of data element 1. For example, data element 1 belonging to a first partition (e.g., labeled "CAD-data") may be assigned to a protection rule using the fifth application 165, preferably by a data steward. The protection rule may determine that each of the data elements 1 assigned to the protection rule should be encrypted before being transferred from the first application server 401 to the central unit 31. Referring to the example described above, then, data element 1 assigned to the term "CAD-data" must be encrypted before being transferred to the central unit 31. Thus, the CAD-data can be protected. The assignment of governance rules to each of the data elements 1 may hereinafter be referred to as governance and may be considered a second, yet another, type of use of each of the data elements 1.
[0096] At least one of the machine learning modules 41 can be generated by the first software development platform 61, preferably by training the machine learning module with input and output data sets. The first software development platform 61 can be controlled by the first developer workstation 34 or the second developer workstation 35, or both, which can be controlled by the first software developer and the second software developer, respectively. The first software development platform 61 can include a data analysis module 67 for selecting the input and output data sets from the data elements 1.
[0097] The data analysis module 67 may enable the first and second software developers to analyze the space spanned by the values of data element 1. By using the data analysis module, a selection of portions of data element 1 that can be used to generate input and output data sets may be performed. The data analysis module may be designed to perform a design of experiments, which may automatically perform the selection of portions of data element 1 depending on the type of mathematical model that the machine learning module 41 may include. These selected portions of data element 1 are hereinafter referred to as fifth partitions.
[0098] In one example, the first developer workstation 34 may perform different selections of portions of data elements 1 to be used as input data sets and output data sets. This may occur due to the first and second software developers using the data analysis model differently. Each different selection of portions of data elements 1 may be considered an application of data elements 1 to the software development architecture 60. If one of the data elements 1 is not selected, this may be considered an invalid application with respect to the software development architecture 60. Each application of data elements 1 to the software development architecture 60 may be considered a third, yet another type of use of each data element of data elements 1.
[0099] The software development architecture 60 may include a first user interface 68 that connects the first developer workstation 34 to the software development architecture 60, preferably only to the first software development platform 61. The software development architecture 60 may also include a second user interface 69 that connects the second developer workstation 35 to the software development architecture 60, preferably only to the first software development platform 61.
[0100] Additionally, the first software development platform 61 can generate the machine learning modules 41, each including a different mathematical model. The mathematical model can include a polynomial model and / or a neuronal network, such as a multi-layer perceptron network or a radial basis function network. In one example, the different machine learning modules 41 can be trained with different input and output data sets, preferably depending on the type of mathematical model of each of the machine learning modules 41. This example illustrates one possible application of each of the data elements 1 to at least one machine learning module of the set 40 of machine learning modules 41 and can be considered a fourth, yet another, type of use of each of the data elements 1.
[0101] The communication system 3 may include a fourth connection between the first end user workstation 36 and the second server 402. The first end user workstation 36 may execute control of a first application 161 to generate data representation elements 51 on the second server 402, preferably initiated by a command sent by the first end user via the fourth connection. The control of the first application 161 may include selecting portions of the data elements 1 such that information provided by the selected portions of the data elements 1 may be included in at least one of the data representation elements 51. The selected portions of the data elements 1 may hereinafter be referred to as sixth partitions. Such inclusion of information provided by the respective data elements in the sixth partition may be considered a fifth, yet another type of use of each data element of the data elements 1.
[0102] The communication system 3 may include a fifth connection between the first end user workstation 36 and the third server 403. The first end user workstation 36 may execute control of the second application 162 to use the search engine 70, preferably initiated by yet another command sent by the first end user via the fifth connection. The control of the second application 162 may include generating a search string including a name or other information to describe at least one of the data elements 1 to be searched (hereinafter referred to as the searched data element). The search engine 70 may perform a comparison of the search string with nomenclature terms assigned to the searched data element. Such a comparison may be considered a sixth, yet another type of use of each data element of the data elements 1.
[0103] In one example, the search engine 70 can use the different levels of hierarchy and relationships to which the data elements 1 are assigned to find the searched data elements 1. The second application 162 can display the data elements 1 that may match the search string, preferably with information about the levels of hierarchy and relationships to which these data elements 1 are assigned.
[0104] In another example, the communication system 3 can include a connection architecture. The connection architecture can allow data elements 1 to be linked to each other. For example, the application of data elements 1 to the connection architecture can be in the form of linking data elements 1 belonging to a first partition with data elements 1 belonging to a second partition. With respect to the above example of a flow simulation, this type of link can be considered to assign specific boundary conditions to specific parts of the CAD-data. The application of data elements 1 to the connection architecture can be considered to be yet another type of use of each data element 1.
[0105] 4 shows a flowchart of a computer-implemented method 500 for sorting a given set of data elements 2. The method includes the acts described in detail below.
[0106] In operation 501, an evaluation of a first type of use of each data element of a given set 2 of data elements 1 is performed. The first type of use may be labeling, ranking, also referred to as a first further type of use, governance, also referred to as a second further type of use, or a third, fourth, fifth, sixth, or seventh further type of use. More specifically, the evaluation of the first type of use of each data element of the given set 2 may be performed by calculating a first impact value for each data element of the given set 2. The first impact value may be equal to the number of times each data element of the given set 2 can be applied with respect to labeling, ranking, governance, or a third, fourth, fifth, sixth, or seventh further type of use. If a single data element of the given set 2 cannot be applied to any of these uses, the respective first impact value may be zero.
[0107] The results of the evaluation of the first type of use of each of the data elements of the given set 2 may indicate the impact level of the respective data element with respect to one of the above-mentioned variants of the first type of communication in the communication system 3.
[0108] In one example, a comparison of the evaluation results of the first type of use of data elements 1 of a given set 2 of data elements 1 with each other can be performed. For example, if a first impact value can be calculated for each data element of the given set 2, the first impact values of the data elements of the given set 2 can be compared with each other.
[0109] At operation 502, a set 4 of candidate data elements for sorting may be determined in response to an evaluation of the first type usage of each data element in the given set 2 of data elements. The set 4 of candidate data elements may be a proper subset of the given set 2 of data elements. For example, the set 4 of candidate data elements may be constructed by selecting the data elements in the given set 2 that include the highest first impact values, such that the set 4 of candidate data elements may include less than 10 percent of the data elements in the given set 2.
[0110] In operation 503, an evaluation of a second type of use of each data element in the set of candidate data elements 4 may be performed. The second type of use may be labeling, ranking, also referred to as a first further type of use, governance, also referred to as a second further type of use, a third, fourth, fifth, sixth, or seventh further type of use. The evaluation of the second type of use of each data element in the set of candidate data elements 4 may be performed by calculating a second impact value for each data element in the set of candidate data elements 4. The second impact value may be equal to the number of times each data element in the set of candidate data elements 4 can be applied to labeling, ranking, governance, a third, fourth, fifth, sixth, or seventh further type of use. If a single data element in the set of candidate data elements 4 cannot be applied to any of these uses, the respective second impact value may be zero.
[0111] The results of the evaluation of the second type of use of each data element in the set of candidate data elements 4 may indicate the impact level of the respective data element with respect to one of the above-mentioned variants of the second type of communication in the communication system 3.
[0112] In one example, a comparison of the evaluation results of the second type of use of the data elements of the set of candidate data elements 4 with each other can be performed. For example, if a second impact value for each data element of the set of candidate data elements 4 can be calculated, the second impact values of the data elements of the set of candidate data elements 4 can be compared with each other.
[0113] In operation 504, a sorting of the data elements of the set of candidate data elements 4 may be performed according to the evaluation of the second type usage of each data element of the set of candidate data elements 4. For example, the data elements of the set of candidate data elements 4 may be sorted in descending order according to their second impact values.
[0114] In operation 505, sorted data elements of set 4 of candidate data elements may be provided. For example, the sorted data elements of set 4 may be stored in data server 99.
[0115] In operation 506, in response to providing the sorted data elements of the set of candidate data elements 4, a request for data processing based on the provided sorted data elements of the set of candidate data elements 4 may be received. The request may be sent from the first developer workstation 34 or the second developer workstation 35, or both. The first and / or second software developers may inspect the sorted data elements to select a portion of the sorted data elements to improve one of the machine learning modules 41. This selected portion may hereinafter be referred to as the seventh partition of data element 1. When operations 501, 502, 503, 504, 505, and 506 can be performed, the method may enable the sorted data elements to be automatically created taking into account any of the above-mentioned uses of data element 1.
[0116] In the following, a first variant of the method is described, in which the first use of the data element 1 can include labeling. One possible advantage of labeling being the first use is that the labeled data element 1 can be compared to a second given set 6 (shown in FIG. 2) of data elements 7 (shown in FIG. 2), and the data elements 7 of the second set 6 can be assigned to at least one of the terms of the nomenclature and marked as important to the communication system 3. In one example, the second given set 6 of data elements can be generated before starting operation 501.
[0117] In a manner similar to data element 1, a third set of data elements can be generated by a fourth application 164 that performs yet another flow simulation. Similarly, the data elements of the third set can be divided into partitions and assigned different terms of the nomenclature and different ranking values. The third set of data elements can include a second set 6 of data elements 7. Marking the data elements 7 of the second set 6 as important to one communication system can be performed by assigning each data element a ranking value of "0.8" or greater. In one example, the data elements 7 of the second set 6 can be assigned the term "boundary condition" and a ranking value of "0.8." The data elements 7 of the second set 6 can also be assigned various different terms of the nomenclature.
[0118] In one example, all data elements in the given set 2 that are assigned at least one of the terms that is equal to one of the terms to which a data element 7 in the second set 6 is assigned can be determined to be candidate data elements 5.
[0119] In yet another example, all data elements in the given set 2 that are assigned at least one of the terms equal to one of the terms in the transitive closure of one of the terms to which the data element 7 of the second set 6 is assigned can be determined to be candidate data elements 5. The transitive closure of each of the terms to which the data element 7 of the second set 6 is assigned can include parent and child terms of these terms. For example, the transitive closure of the term “boundary condition” can include the term “inflow velocity” as a child term and the term “flow rate data” as a parent term of the term “boundary condition.” The transitive closure of the terms to which the data element 7 of the second set 6 is assigned can also include synonyms of these terms. The nomenclature archive 90 can store the transitive closures of the terms to which the data element 7 of the second set 6 is assigned. The transitive closures can be adaptable, preferably by the first end user, depending on the technical objectives of the fourth application 164.
[0120] In yet another example, the evaluation of the first use of each data element of the given set of data elements 2 may be performed by comparing the term to which the respective data element is assigned with a third, further term, the third, further term being provided by a user of the communication system 3. If the term to which the respective data element of the given set 2 is assigned is equal to the third, further term, the respective data element may be determined to be one of the candidate data elements 5.
[0121] Alternatively, the evaluation of the first use of each data element of the given set 2 of data elements may be performed by comparing the term to which the respective data element is assigned with the terms of the transitive closure of the third, further terms. If the term to which the respective data element of the given set 2 is assigned is equal to one of the terms of the transitive closure of the third, further terms, the respective data element may be determined to be one of the candidate data elements 5. The transitive closure of the third, further terms may be determined in the same way as the transitive closure of each of the terms to which the data elements 7 of the second set 6 are assigned.
[0122] Determining the candidate data elements 5 by considering the labeling of the first use of the data element 1 may reduce the computational resources required for the evaluation of the first use compared to, for example, considering the application of the first use to the machine learning module 41. Similarly, the application of the data element 1 to ranking, governance or search engine 70 may be included in the first use within the meaning of the method in order to keep computational costs as low as possible.
[0123] The candidate data elements 5 may also be determined by combining the labeling, ranking, governance, and application of the data elements 1 to the search engine 70. In such cases, functional data elements may also be determined in an intermediate step by considering the labeling of the first use of the data elements 1. In this example, the terms to which each data element of the given set 2 of data elements is assigned may be compared with the terms of the transitive closure of a third, further term. If the terms to which each data element of the given set 2 is assigned are equal to one of the terms of the transitive closure of the third, further term, then the respective data element may be marked as one of the functional data elements.
[0124] The functional data elements can be used to determine the candidate data elements 5. For example, as described above, an evaluation of the first use of a given data element 1 or of functional data elements alone can be performed in relation to the ranking, governance, and / or application of the given data element 1 or functional data elements to the search engine 70. In this variant, the first threshold can be determined according to the average value of the impact values of the functional data elements. The impact value of a functional data element can be determined by evaluating functional data elements of the same type of use as can be evaluated in determining the first impact value of the given data element 1. Therefore, the method for calculating the impact value of a functional data element can in this case be the same as the method for calculating the first impact value for the given data element 1. Determining the functional data elements in an intermediate step can be advantageous when the above-mentioned marked data elements are not available for determining the first threshold.
[0125] If the first use may include ranking, the candidate data elements 5 may be determined by selecting data elements 1 that are ranked higher than a given ranking value in the ranking database 81. Additionally or alternatively, the candidate data elements 5 may be determined by selecting that portion of the data elements 1 that includes a ranking value calculated based on at least a given number of users. The given ranking value and the given number of users may be adaptable to the technical objectives of the fourth application 164.
[0126] As discussed above, determining candidate data elements 5 by labeling, ranking, governance, and evaluating first uses of data elements 1 in light of application to search engine 70 may be referred to herein as candidate data element generation methods for labeling, ranking, governance, and search engine 70, respectively. As discussed above, for each candidate data element generation method, a first threshold may be determined, preferably using either marked data elements or functional data elements.
[0127] The communication system 3 may include a display 97 (shown in FIG. 3 ) configured to show information about at least one of the data element candidate generation methods, such as a first threshold value for each of the data element candidate generation methods and / or a corresponding number of possible data element candidates that may be obtained by selecting each data element candidate generation method. The communication system 3 may be designed to allow a user, such as a first software developer, to select whether each of the data element candidate generation methods may be used to determine the data element candidates 5. If all data element candidate generation methods are selectable, the data element candidates 5 may include all respective possible data element candidates that may be obtained by selecting each data element candidate generation method.
[0128] The communication system 3 may be designed to allow a user to adjust the data element candidate generation method, for example by manually changing the first threshold value.
[0129] In yet another example, an overall usage score for each data element 5 in the set of candidate data elements 4 can be determined as a function of the first and second uses of the respective data element 5. As described above, the first or second use, or both, can be in the form of a first aggregation of different types of uses of the given data element 1 and a second aggregation of further different types of uses of the candidate data element 5, respectively. The different types of uses can include labeling, ranking, or governance, or a combination thereof. Yet another different type of use can include application of the candidate data element 5 to a software development architecture 60, to a data representation element 51, to a set 40 of machine learning modules 41, to a connectivity architecture, or to a search engine 70, or a combination thereof.
[0130] The communication system 3 may further include a lineage module 98 (shown in FIG. 3 ) for evaluation of different types of usage. The lineage module 98 may record the number of times each candidate data element 5 can be forwarded from the data server 99 to the software development architecture 60, to the search engine 70, or to the set 40 of machine learning modules 41, or a combination thereof. The lineage module 98 may track how a given data element 1 or candidate data element 5 is forwarded within the communication system 3, preferably between components of the communication system 3. The lineage module 98 may alleviate the calculation of the above-mentioned impact value for each data element 1 or candidate data element 5.
[0131] As discussed above, the overall usage score for each candidate data element 5 may be calculated by determining a weighted sum of the first influence value, the second influence value, and preferably at least a first further influence value. For example, the overall usage score for each candidate data element 5 may be calculated as a weighted sum of the first influence value, the second influence value, and preferably a first, second, third, fourth, fifth, sixth, seventh, and / or eighth further influence values.
[0132] The first impact value, the second impact value, and the first, second, third, fourth, fifth, sixth, seventh and / or eighth further impact values of each data element candidate 5 can be equal to or correlated with the number of times each data element candidate 5 is assigned to one of the nomenclature terms, the number of machine learning modules 41 to which each data element candidate 5 is applied, the number of times each data element candidate 5 is used for linking, the number of times each data element candidate 5 is used within the software development architecture 60, the number of times each data element candidate 5 is used in searches performed by the search engine 70, the number of times each data element candidate 5 is linked to one other data element of a given data element 1, the ranking number of each data element candidate 5 in the ranking database 81, the number of times each data element candidate 5 is processed by a set of applications, the number of times each data element candidate 5 is included within a data representation element 51, or the number of times each data element candidate 5 is assigned to one of the governance rules.
[0133] One example in which the second influence value of each data element candidate 5 may be correlated with the number of machine learning modules 41 to which each data element candidate 5 is applied can be given by calculating each second influence value as the quotient of the number of machine learning modules 41 to which each data element candidate 5 is applied and the total number of machine learning modules 41.
[0134] In yet another variant, the communication system 3 may be designed to allow a user to adjust the weights of the first influence value, the second influence value, and preferably the first, second, third, fourth, fifth, sixth, seventh, and / or eighth further influence values, each weighted according to its weight for calculating the weighted sum. This allows the user to prioritize the use of a single type of data element 1. This variant may also allow ordering according to the use of a single type. In yet another example, the communication system 3 may be designed to allow a user to initiate a data element candidate generation method for creating data element candidates 5.
[0135] The candidate data elements 5 may be sorted using each candidate data element's respective overall usage score. The sorted candidate data elements may be displayed on the display 97, preferably along with the metadata described above. The metadata may include the relationship of each candidate data element 5 to other data elements in a given set, or preferably the relationship of the candidate data element 5. The communication system 3 may be designed to allow a user to approve or reject at least one of the sorted candidate data elements 5. Preferably, each candidate data element 5 may be approved or rejected according to the overall usage score or the metadata of the respective candidate data element. This may also be performed automatically. In response to approval of each candidate data element 5, the data element may be stored, preferably in the second database 96, as a data element of importance to the communication system 3. These approved data elements may be accessible to components of the communication system 3 in the form of important data elements within the communication system 3.
[0136] Furthermore, the communication system 3 may be designed to store metadata of accepted or rejected data elements of the candidate data element 5 so that it can be compared with metadata of other data elements of the candidate data element 5 or with metadata of further candidate data elements that will be generated in the future.
[0137] In one example, the first or second, or both, types of usage may be evaluated with respect to a time scale. For example, each of the aforementioned influence values may be repeatedly calculated for various different consecutive time slabs and weighted according to the respective duration between the actual time and the moment at which the respective influence value was calculated. Thus, a set of weighted influence values, weighted with respect to time, may be created for each of the aforementioned influence values, such as the first influence value, the second influence value, and the first, second, third, fourth, fifth, sixth, seventh, and / or eighth further influence values, of each data element candidate 5. These sets of weighted influence values may be used to determine an overall usage score. For example, the set of weighted influence values may be used to calculate a weighted sum instead of using a single first influence value, second influence value, and first, second, third, fourth, fifth, sixth, seventh, and / or eighth further influence value of each data element candidate 5.
[0138] In another example, the time scale can be taken into account by weighting the application of each data element 1 to one of the terms of the nomenclature with respect to the point in time at which this term can be added to the nomenclature. The shorter the time frame between this point and the actual point in time, the higher the influence value of each data element 1 with respect to application to the nomenclature. Similarly, further points in time at which one of the machine learning modules 41 can be generated can affect the influence value of each data element 1 with respect to application to the set 40 of machine learning modules 41.
[0139] The present invention may be embodied as a system, method, or computer program product, or a combination thereof, at any possible level of technical detail. The computer program product may include a computer-readable storage medium or media having computer-readable program instructions for causing a processor to perform aspects of the present invention. The computer-readable storage medium may be a tangible device capable of holding and storing instructions for use by an instruction-execution device.
[0140] A computer-readable storage medium may be, for example, but not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the above. A non-exhaustive list of more specific examples of computer-readable storage media includes the following: portable computer diskettes, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static random access memory (SRAM), portable compact disk read-only memory (CD-ROM), digital versatile disk (DVD), memory sticks, floppy disks, mechanically encoded devices such as punch cards or ridge structures in grooves having instructions recorded thereon, and any suitable combination of the above. As used herein, computer-readable storage media is not to be construed as transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission medium (e.g., light pulses through fiber optic cable), or electrical signals sent through wires.
[0141] The computer-readable program instructions described herein can be downloaded from a computer-readable storage medium to each computing / processing device or to an external computer or storage device over a network, such as the Internet, a local area network, a wide area network, and / or a wireless network. The network can include copper cables, optical fibers, wireless networks, routers, firewalls, switches, gateway computers, or edge servers, or combinations thereof. A network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and transfers the computer-readable program instructions for storage in a computer-readable storage medium within the respective computing / processing device.
[0142] The computer-readable program instructions for carrying out the operations of the present invention may be source or object code written in any combination of one or more programming languages, including assembler instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state setting data, configuration data for integrated circuits, or object-oriented programming languages such as Smalltalk, C++, and conventional procedural programming languages such as the "C" programming language or similar programming languages. The computer-readable program instructions may run entirely on the user's computer, partially on the user's computer as a stand-alone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., via the Internet using an Internet Service Provider). In some embodiments, electronic circuitry including, for example, a programmable logic circuit, a field programmable gate array (FPGA), or a programmable logic array (PLA) can execute computer readable program instructions to individualize the electronic circuitry by utilizing state information in the computer readable program instructions to implement aspects of the present invention.
[0143] Aspects of the present invention will be described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer-readable program instructions.
[0144] These computer-readable program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, or other programmable data processing apparatus to produce a machine, whereby the instructions, executed by the processor of the computer or other programmable data processing apparatus, create means for performing the functions / acts specified in one or more blocks of the flowcharts and / or block diagrams. These computer program instructions can also be stored in a computer-readable medium that can direct a computer, programmable data processing apparatus, or other device, or combination thereof, to function in a particular manner, whereby the instructions stored in the computer-readable medium can include an article of manufacture containing instructions that implement aspects of the functions / acts specified in one or more blocks of the flowcharts and / or block diagrams.
[0145] The computer-readable program instructions may be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable data processing apparatus, or other device to produce a computer-implemented process, whereby the instructions executing on the computer or other programmable apparatus provide a process for performing the functions / operations specified in one or more blocks of the flowchart or block diagram, or both.
[0146] The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in the flowcharts may represent a module, segment, or portion of code, including one or more executable instructions for implementing the specified logical function(s). In some alternative implementations, the functions shown in the blocks may occur in a different order than that shown in the figures. For example, two blocks shown in succession may in fact be executed substantially simultaneously, or the blocks may sometimes be executed in the reverse order, depending on the functionality involved. It should also be noted that each block of the block diagrams and / or flowchart diagrams, and combinations of blocks in the block diagrams and / or flowchart diagrams, may be implemented by a dedicated hardware-based system that performs the specified functions or operations, or a combination of dedicated hardware and computer instructions.
Claims
1. 1. A computer-implemented method for sorting data elements of a given set of data elements, the method comprising: performing an evaluation of a first type of usage of each data element of the given set of data elements to determine a first impact value of the respective data element with respect to a first type of communication in a communication system; determining a set of candidate data elements for the sorting based on the first influence value, the set of candidate data elements being a proper subset of the given set of data elements; performing an evaluation of a second type of usage of each data element of the set of candidate data elements to determine a second impact value of the respective data element with respect to a second type of communication in the communication system; sorting the data elements of the set of candidate data elements based on the second influence values; providing the sorted data elements of the set of candidate data elements; performing data processing utilizing the provided sorted data elements of the set of candidate data elements; Including, At least one of the evaluation of the first type of use and the evaluation of the second type of use includes determining a number of times the respective data element is assigned to a governance rule that defines a type of allowable processing for the assigned data element. method.
2. the communication system includes a set of machine learning modules; and wherein using the first or second type of each data element of the given set of data elements and the set of candidate data elements, respectively, comprises applying the respective data element to at least one machine learning module of the set of machine learning modules. The method of claim 1.
3. the communication system includes a data representation element; the first or second type use of each data element of the given set of data elements and the set of candidate data elements, respectively, comprises inclusion of information provided by the respective data element in the data representation element; The method according to any one of claims 1 to 2.
4. the communication system includes a software development architecture; using the first or second type of each data element of the given set of data elements and the set of candidate data elements, respectively, includes applying the respective data element to the software development architecture; The method according to any one of claims 1 to 3.
5. the communication system includes a search engine; said first or second type of use of each data element of said given set of data elements and said set of candidate data elements, respectively, comprises applying said respective data element to said search engine; 5. The method according to any one of claims 1 to 4.
6. the communication system includes a connection architecture; using the first or second type of each data element of the given set of data elements and the set of candidate data elements, respectively, includes applying the respective data element to the connection architecture; 6. The method according to any one of claims 1 to 5.
7. the communication system includes a ranking system; said first or second type of use of each data element of said given set of data elements and said set of candidate data elements, respectively, comprises applying said respective data element to said ranking system; 7. The method according to any one of claims 1 to 6.
8. the communication system includes a set of applications; the first or second type use of each data element of the given set of data elements and the set of candidate data elements, respectively, comprises applying the respective data element to the set of applications; 8. The method according to any one of claims 1 to 7.
9. the communication system includes a nomenclature including terms for describing the data elements; using the first or second type of each data element of the given set of data elements and the set of candidate data elements, respectively, comprises assigning the respective data element to a selected term of the terms of the nomenclature; 9. The method according to any one of claims 1 to 8.
10. 10. The method of claim 9, wherein the evaluation of the first and / or second uses of each data element of the given set of data elements and the set of candidate data elements, respectively, is performed by comparing the selected term to which the respective data element is assigned with further terms, and further data elements are assigned to the further terms and marked as important with respect to the communication system.
11. wherein said evaluating said first and / or second uses of each data element of said given set of data elements and said set of candidate data elements, respectively, is performed by comparing said selected term to which said respective data element is assigned with a further term, said further term being provided by a user of said communications system; 11. The method according to any one of claims 9 to 10.
12. The method of claim 1 , wherein the governance rules include protection rules related to protection of the data elements of the given set of data elements that are assigned to a protection rule.
13. the first impact value of each data element indicates a level of impact of the respective data element with respect to the first type of communication in the communication system, and the second impact value of each data element indicates a level of impact of the respective data element with respect to the second type of communication in the communication system.
13. The method according to any one of claims 1 to 12.
14. the communication system includes a plurality of components, and the first impact value or the second impact value of each of the data elements is equal to or correlates to a number of uses of the respective data element in a first of the plurality of components.
14. The method according to any one of claims 1 to 13.
15. determining an overall usage score for each data element of the set of candidate data elements as a function of a plurality of different types of usage of the respective data element; the different types of uses include at least the first and second types of uses; the overall usage score indicating the overall level of impact of each of the data elements with respect to the communication system; a sorting of the data elements based on the overall usage score for each data element of the set of candidate data elements; 15. The method according to any one of claims 1 to 14.
16. displaying metadata of the data elements of the set of candidate data elements to select a portion of the sorted data elements of the set of candidate data elements for data processing; the metadata includes information related to generating the overall usage score for each of the data elements; 16. The method of claim 15.
17. A computer program product that causes a computer to carry out the method according to any one of claims 1 to 16.
18. 18. A computer readable storage medium having stored thereon the computer program of claim 17.
19. A computer system for sorting data elements of a given set of data elements, the computer system comprising a processor configured to perform the method of any one of claims 1 to 16.