Metadata-based representation of scientific data driven at scale by knowledge databases

The scientific data representation method based on metadata implemented by computers uses the rules and feedback input by users to interactively and iteratively determine the quality and relationship of scientific data files, solving the problem that manual inspection cannot be expanded and cannot learn to improve rules in traditional technology. , achieving efficient data characterization and rule improvements.

CN112306964BActive Publication Date: 2025-02-25INTERNATIONAL BUSINESS MACHINE CORPORATION
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202010633853.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2019-07-31
Filing Date
2020-07-02
Publication Date
2025-02-25
Estimated Expiration
2040-07-02

Smart Images

  • Figure CN112306964B_ABST
    Figure CN112306964B_ABST
Patent Text Reader

Abstract

A metadata-based scientific data characterization method, system, and computer program product include: requesting user input of a task to specify rules for the task of determining quality and relationships of data files based on metadata associated with data files in a data file database, processing user feedback of results using the rules run on the data file database, and tracking user feedback of the results to learn from the user feedback, and creating modified rules for determining quality and relationships of a second data file based on the learning.
Need to check novelty before this filing date? Find Prior Art

Description

Background Art

[0001] The present invention generally relates to metadata-based scientific data characterization methods, and more specifically, but not limitedly, to a system, method, and computer program product for interactively and iteratively systematizing the way users characterize some files using associated metadata and applying it on a large scale.

[0002] Large, domain-specific scientific data files have associated metadata that are essential to the scientific experiment process. However, these files are often heterogeneous. Some files have more or better associated metadata than others, and some files are related to other files.

[0003] Traditionally, when users (e.g., scientists, such as geophysicists in the field of geology, agronomists in the field of agriculture, etc.) obtain a large number of data files, they first need to characterize the files by determining the quality level of the files and finding the relationship between them (e.g., a file is obtained from another file, or is equal to another file, or geographically intersects with an area in another file) so that they can start their experimental process. This is particularly important when obtaining data files from public data providers. Although the data content in a single file is usually large (hundreds of GB), the associated metadata in these files is usually small (e.g., a few megabytes). Such data characterization is very expensive if it is performed based on data rather than metadata. Therefore, they are usually completed by manual inspection based on metadata. Moreover, manual inspection cannot be extended to large amounts of data distributed across several data files.

[0004] However, even though conventional techniques can utilize metadata extracted from raw data files to represent them in the data management lifecycle, conventional techniques do not consider techniques for allowing users to iteratively and interactively change rules based on metadata to apply to multiple data files, as well as learning systems that collect user interactions to improve rule definitions. Summary of the invention

[0005] In an exemplary embodiment, the present invention provides a computer-implemented metadata-based scientific data characterization method, the method comprising: requesting user input to specify rules for determining quality and relationships of scientific data files based on metadata associated with the scientific data files, processing user feedback to analyze results and tracking user feedback of the results to learn from the user feedback, and creating rules for determining quality and relationships of scientific data files based on the learning.

[0006] Based on the above method, one or more other exemplary embodiments include a computer program product and a system.

[0007] Other details and embodiments of the present invention are described below so that the present contribution to the art can be better understood. However, the present invention is not limited in its application to these details, wordings, terms, illustrations and / or arrangements set forth in the specification or shown in the accompanying drawings. Rather, the present invention can have other embodiments besides the described embodiments, and can be practiced and implemented in various ways, and should not be considered as limiting.

[0008] Thus, those skilled in the art will recognize that the concepts upon which this disclosure is based can be readily used as the basis for designing other structures, methods and systems for achieving the several purposes of the present invention. Therefore, it is important that the claims be considered to include such equivalent constructions without departing from the spirit and scope of the present invention. BRIEF DESCRIPTION OF THE DRAWINGS

[0009] Aspects of the present invention will be better understood through the following detailed description of exemplary embodiments of the present invention with reference to the accompanying drawings, in which:

[0010] Figure 1 A high-level flowchart of a metadata-based scientific data characterization method 100 according to an embodiment of the present invention is exemplarily shown;

[0011] Figure 2 An example process of scientific data representation based on metadata according to an embodiment of the present invention is exemplarily described;

[0012] Figure 3 An exemplary system 300 for metadata-based scientific data representation according to an embodiment of the present invention is exemplarily depicted;

[0013] Figure 4 A cloud computing node 10 is depicted according to an embodiment of the present invention;

[0014] Figure 5 Depicting a cloud computing environment 50 according to an embodiment of the present invention;

[0015] Figure 6 depicts an abstract model layer according to an embodiment of the present invention; and

[0016] Figure 7-9 General use cases of the present invention and problems solved according to embodiments of the present invention are exemplarily depicted. DETAILED DESCRIPTION

[0017] Now refer to Figure 1-9 The present invention is described with the same reference numerals representing the same parts throughout. It is emphasized that, according to convention, the various features of the drawings are not necessarily drawn to scale. On the contrary, the size of the various features may be arbitrarily enlarged or reduced for the sake of clarity.

[0018] By Introduction Figure 1 As depicted, an embodiment of a metadata-based scientific data characterization method 100 according to the present invention may include various steps for a hybrid rule-based and learning-based technique that enables a user to interactively and iteratively guide a rule-based process for characterizing multiple large raw data files to (i) determine the quality of the files and (ii) find data relationships using small metadata associated with the large files. Rules may be recommended by a machine learning-based recommender component in each new iteration of the process. The user may accept the recommendation or adjust the recommended rule. Thus, the rules are controlled by the user's knowledge, driven by the application and domain. Moreover, the user's interactivity and rule modifications are recorded in a knowledge database to improve the recommender component.

[0019] Thus, one advantage of the present invention is that it uses human knowledge for a few files, applies it at scale to a large number of files, and learns from the user's interactions. This advantage is possible because the present invention utilizes small metadata associated with large files to reduce processing response time between the user and the system, thereby making the system more interactive. The present invention (e.g., using machine learning-based components) and the user then work together until an optimal set of rules and results (e.g., characterized data files) are achieved.

[0020] By Introduction Figure 4 In the depicted example, one or more computers of computer system 12 according to an embodiment of the present invention may include memory 28 having stored in a storage system for executing Figure 1 Instructions for the steps.

[0021] Although one or more embodiments may be implemented in a cloud environment 50 (e.g., Figure 6 ), but it should be understood that the present invention can be implemented outside the cloud environment.

[0022] refer to Figure 7-9 , exemplarily explaining the context of the problem solved by the present invention. Figure 7 As shown, a user (e.g., a scientist, such as a geophysicist, agronomist, health scientist, etc.) receives multiple data files from a storage device for analysis. Typical data files are large (i.e., up to hundreds of GB), are in a special file format (e.g., GeoTIFF, which is common in agricultural applications, or a format specified by an industry standard, such as SEG-Y for geological applications, etc.), contain important associated metadata, etc. However, the files are heterogeneous. For a given use, some files have high quality and relevant metadata, but some files do not.

[0023] refer to Figure 8,First, the user needs to determine the quality of the data files.,As an example, the user observes one of the files, opens it, and based on the metadata associated with the file, the user identifies that "File A" has associated geographic coordinates.

[0024] refer to Fig. 9 , second, the user must identify the relationships between these files. Only after the quality is determined and the file relationships are identified can the user begin his experimental process. For example, the user verifies that file C contains data that geographically intersects with the data in file D (e.g., C and D are seismic data whose polygons partially cover the same geographic area).

[0025] However, traditionally, users manually inspect files to determine the quality and relationships of the files. Manual inspection works well for one file or perhaps a few files. However, it does not scale to a large number of files. Therefore, when users reason about files, they lose the opportunity to learn from the user's interaction. However, using the invention of method 100, the present invention can interactively and iteratively systematize the way users use associated metadata to characterize a few files and apply it on a large scale, and improve the results as users use the present invention.

[0026] Overall reference Figure 1 and Figure 2 , in step 101 , user input is requested to specify rules for determining the quality and relationship of scientific data files based on metadata associated with the scientific data files.

[0027] In step 102, user feedback is processed to analyze the results and user feedback of the results is tracked to learn from the user feedback.

[0028] In step 103, rules for determining the quality and relationships of scientific data files are created based on the learning.

[0029] More specifically, refer to Figure 2 , in step 201, the user selects a task. For example, given an input data set of multiple large data files, the tasks are "identify earthquake files", "geolocate them", "identify which files are earthquake amplitudes and which files are attributes derived from earthquake events", and "identify reports (PDF, DOC) related to earthquake files".

[0030] In step 202, the present invention proposes a rule set. For example, the rules exemplarily recommended by the present invention may be:

[0031] *File ID. File A

[0032] If A has an extension in [sgy, cbvs, sgd], then A is a seismic data file

[0033] If A has an extension in [pdf, txt, rtf, doc, docx], then A is a report

[0034] If A has an extension in [csv, xls, json, geotiff], then A is a metadata file

[0035] The user then approves or rejects the recommended rules in step 203. The user's decision and reasons are stored in the knowledge database.

[0036] The user adjusts the recommended rules in step 204. The rule versioning is stored in the knowledge database to improve the recommender system.

[0037] In step 205, the present invention uses the user-informed rule set to characterize (e.g., determine quality and find file relationships) all files. That is, the present invention uses the rules approved by the user and then applies them to all files in the input data set to characterize the files.

[0038] In step 206, the user analyzes the results (e.g., file quality and relationships) in the dashboard. For example, more than 50% of the files in the input dataset have a .SU extension, and the system cannot identify these files. These results are stored in the knowledge database.

[0039] In step 207 , the user approves the result and the process ends or the process continues to step 208 .

[0040] In step 208, the present invention recommends a modification to the rule(s) based on the user not approving the rule(s) in step 207. For example, the present invention recommends a modification to the rule set such as "if A has an extension in [sgy, cbvs, sgd, su], then A is a seismic data file."

[0041] In step 209, the user approves (or disapproves) the modified rule set. If approved, the present invention returns to step 205. If the user disapproves the rule set, the present invention returns to step 204.

[0042] In an exemplary use case for an oil and gas business case, a data scientist in the geology field receives a public large (terabyte) geological dataset consisting of thousands of data files from different parts of the world. He needs to use this data to train a machine learning model to help him with reservoir discovery. The problem is that the data files are not characterized (e.g., they are not geolocated, the files have no known relationships (e.g., whether the file contains seismic amplitudes or attributes derived from earthquakes), so the expert cannot use this dataset in a practical way).

[0043] Thus, after steps 101-103 and 201, the user selects the task, identifies the files, finds the relationships, and determines the quality:

[0044] Task: Seismic dataset characterization and geolocation

[0045] Identification file

[0046] What are seismic data files?

[0047] What are the reports (PDF)

[0048] Find the relationship

[0049] Which files are the properties of earthquakes (e.g., spontaneous frequencies)

[0050] Which files contain metadata associated with the earthquake

[0051] Which files contain data that geographically intersects with other files

[0052] Which reports (PDF) are associated with the earthquake data files

[0053] Which files are copies?

[0054] Determine quality

[0055] Which ones have geographic coordinates

[0056] Structured, relevant processing and acquisition of information

[0057] Based on this, the present invention recommends the rules set in steps 103 and 202, such as:

[0058] *File ID. File A

[0059] If A has an extension in [sgy, cbvs, sgd], then A is a seismic data file

[0060] If A has an extension in [pdf, txt, rtf, doc, docx], then A is a report

[0061] If A has an extension in [csv, xls, json, geotiff], then A is a metadata file

[0062] * File relationship. File A and File B

[0063] If B is in the same directory hierarchy as A, then B is associated with A.

[0064] If A has the same embedded metadata as B, and size(A)>>size(B), then B is the product of A.

[0065] If the file name of B contains [ip, is, impedance], then B is the impedance product of A.

[0066] If the file name of B contains [vp, vs, velocity], then B is the velocity product of A.

[0067] If A has embedded metadata of B and size(A)=size(B), then A=B*file quality. Seismic data file A

[0068] M is a set of metadata associated with A

[0069] K is the key metadata. K = [GeoX, GeoY, UTMZone]

[0070] H(K) is the value of the metadata in K that the system can find.

[0071] Key metadata should be found as follows:

[0072] GeoX is in M, embedded in byte 181 of A

[0073] GeoY is in M, embedded in byte 185 of A

[0074] UTMZone is in M, in the metadata file associated with A

[0075] *Quality level of seismic data file A

[0076] Level 0: H(K) = NULL => "The system cannot determine any value of K"

[0077] Level 1: H(K).GeoX!=NULL and H(K).GeoY!=NULL and H(K).UTMZone=NULL => "The system can determine GeoX, GeoY, but has no UTM zone"

[0078] Level 2: H(K).GeoX!=NULL and H(K).GeoY!=NULL and H(K).UTMZone=NULL and user verified => "No UTM zone, but user verified GeoX, GeoY"

[0079] Level 3: H(K)! =NULL=====>"The system is able to geolocate A"

[0080] Level 4: H(K)! = NULL and user verified =====> "The system is able to geolocate A and is user verified"

[0081] Then, the present invention proceeds to the rest of steps 203-209. For example:

[0082] User approves the recommended rule set

[0083] (C) System 200 runs. Iteration = 1

[0084] (D) The results are plotted in a dashboard and analyzed by the user.

[0085] Result: More than 50% of the files in the input dataset have .SU extension and the system is unable to identify the files.

[0086] User does not approve the result

[0087] (E) System 204 suggests changes to the rule set

[0088] Based on file frequency and embedded metadata analysis, the system recommends that .SU be considered a seismic data file.

[0089] The rules are changing:

[0090] If A has an extension in [sgy, cbvs, sgd, su], then A is a seismic data file

[0091] User approves the recommended rule set

[0092] (C) System 200 runs. Iteration = 2

[0093] (D) The results are plotted in a dashboard and analyzed by the user.

[0094] Result: GeoX and GeoY cannot be found in nearly 100% of SU files. Error: GeoX and GeoY information is not in the specified bytes (181-185)

[0095] User does not approve the result

[0096] (E) System 204 suggests changes to the rule set

[0097] Based on heuristics and past user interactions, the system suggests: Consider bytes 72 and 73 in the embedded seismic data file for the GeoX and GeoY coordinates.

[0098] The rules are changing:

[0099] Key metadata should be found as follows:

[0100] GeoX is in M, embedded in byte 72 of A

[0101] GeoY is in M, embedded in byte 73 of A

[0102] The user disapproves of the recommended rule set and explains why:

[0103] By inspecting some data files, the user verified that in this dataset, bytes 72 and 73 are used for the inline_no and xline_no fields, rather than GeoX and GeoY.

[0104] (F) The user edits the rule set as follows:

[0105] Key metadata should be found as follows:

[0106] GeoX is in M, embedded in byte 27 of A

[0107] GeoY is in M, embedded in byte 28 of A

[0108] (C) System 200 runs. Iteration = 3

[0109] (D) The results are plotted in a dashboard and analyzed by the user.

[0110] Results: 100% of the seismic data files qualified as "Level 3 Quality" (i.e., were geolocated)

[0111] User approval results

[0112] The system registers that these results are good for this user.

[0113] refer to Figure 3 The system architecture includes interfaces for clients (i.e., users), servers, and storage layers. The interface for the user includes a file browser and a file inspector, where the user selects a file and inspects metadata associated with the file, a rule set editor presents the recommended rules to the user and allows the user to modify the set, and a dashboard shows the results of the processing and also shows files characterized according to the specified rule set (e.g., with eligible files and discovered relationships).

[0114] The server includes a rule-based raw data file characterizer component that receives (a) a rule set as input and (b) a list of files that should be processed. The server utilizes a domain-specific raw data parser (201) to schedule scalable processing in parallel hardware to parse the raw data file, extract metadata and use the associated metadata to characterize the file (e.g., set file quality and find relationships). Not only does the characterizer component not need to process the entire large data file, it also does not need to calculate all metadata associated with the file. Only those specified in the rule set, thereby further speeding up processing. The domain-specific raw data parser implements a software that knows how to read special file formats, such as SEG-Y for seismic, LAS for well logs, GeoTIFF for agriculture, FITS for astronomy, etc. The interaction tracker records the interactions between the user and the system in a structured manner in the knowledge database (300). The rule set versioner is responsible for tracking each change made by the user in the rule set and associating the new modification with the reason for the change, which the user optionally informs. The rule set, its versioning and the reason for the change are stored in the knowledge database (300). Furthermore, the rule set recommender is a machine learning based service that uses data from the knowledge base to train its model and recommend rules or modifications to a previously selected rule set.

[0115] The storage layer includes a knowledge database that contains user knowledge stored in a structured manner that can be queried. The following data is stored and represented in the knowledge database: user interactions, rule sets and their modifications in iterations, whether the user accepts the recommendation, the reasons for the user's decision (e.g., acceptance), and the representation of data files. In addition, the file system contains all the files to be represented.

[0116] Through the above embodiments, the present invention includes a hybrid rule-based and learning system and method that enables users to interactively and iteratively guide a rule-based process that characterizes multiple large raw data files to (i) determine the quality of the files and (ii) exploit small metadata associated with large files to find data relationships. Rules are recommended by a machine learning-based recommender component in each new iteration of the process. The user can accept the recommendation or adjust the recommended rules. Therefore, the rules are controlled by the user's knowledge and driven by the application and domain. User interactivity and rule modifications are recorded in a knowledge database to improve the recommender component. The model of the present invention is independent of a specific neural network or machine learning model.

[0117] Thus, the present invention can use human knowledge for a few files, apply human knowledge to a large number of files at scale, and learn from user interactions. This is only possible because the present invention utilizes small metadata associated with large files to reduce processing response time between the user and the system, making the system more interactive. The system (e.g., using machine learning-based components) and the user then work together until the optimal set of rules and results (e.g., feature data files) are achieved.

[0118] Note that although the embodiments herein are described in terms of "scientific data based on metadata", the invention is not limited thereto. For example, the invention may include embodiments involving general data classification (i.e., data records, tax data, corporate business data, educational data, etc.). In fact, the invention can classify large databases of any type of data by determining the quality and relationships of data on a large scale based on some classification of the user.

[0119] Exemplary Aspects of Using a Cloud Computing Environment

[0120] Although this detailed description includes exemplary embodiments of the present invention in a cloud computing environment, it should be understood that the implementation of the teachings recorded herein is not limited to such a cloud computing environment. Instead, embodiments of the present invention can be implemented in conjunction with any other type of computing environment now known or later developed.

[0121] Cloud computing is a service delivery model for convenient, on-demand network access to a shared pool of configurable computing resources. Configurable computing resources are resources that can be quickly deployed and released with minimal management cost or interaction with the service provider, such as networks, network bandwidth, servers, processing, memory, storage, applications, virtual machines, and services. This cloud model can include at least five characteristics, at least three service models, and at least four deployment models.

[0122] Features include:

[0123] On-demand self-service: Cloud consumers can unilaterally and automatically deploy computing capabilities such as server time and network storage on demand without human interaction with the service provider.

[0124] Broad network access: Computing power can be accessed over the network through standard mechanisms that facilitate the use of the cloud through different types of thin-client or thick-client platforms (e.g., mobile phones, laptops, personal digital assistants (PDAs)).

[0125] Resource pool: The computing resources of the provider are grouped into resource pools and serve multiple consumers through a multi-tenant model, where different physical and virtual resources are dynamically allocated and reallocated on demand. Generally, consumers cannot control or even know the exact location of the provided resources, but can specify the location (such as country, state or data center) at a higher level of abstraction, so it is location-independent.

[0126] Rapid elasticity: The ability to quickly and elastically (sometimes automatically) deploy computing power to scale up quickly, and quickly release it to scale down quickly. To consumers, the computing power available for deployment often appears to be unlimited, and any amount of computing power can be accessed at any time.

[0127] Measurable services: Cloud systems automatically control and optimize resource usage by leveraging metering capabilities at a level of abstraction appropriate to the type of service (e.g., storage, processing, bandwidth, and active user accounts). Resource usage can be monitored, controlled, and reported, providing transparency to both service providers and consumers.

[0128] The service model is as follows:

[0129] Software as a Service (SaaS): The capability provided to consumers is to use the provider's applications running on a cloud infrastructure. Applications can be accessed from a variety of client devices through a thin client interface such as a web browser (e.g., web-based email). Aside from limited user-specific application configuration settings, consumers neither manage nor control the underlying cloud infrastructure including networks, servers, operating systems, storage, or even individual application capabilities.

[0130] Platform as a Service (PaaS): The capability provided to consumers is to deploy applications created or acquired by consumers on the cloud infrastructure, which are created using programming languages ​​and tools supported by the provider. Consumers neither manage nor control the underlying cloud infrastructure including networks, servers, operating systems or storage, but have control over the applications they deploy and may also have control over the configuration of the application hosting environment.

[0131] Infrastructure as a Service (IaaS): The capabilities provided to consumers are processing, storage, network, and other basic computing resources on which consumers can deploy and run arbitrary software including operating systems and applications. Consumers neither manage nor control the underlying cloud infrastructure, but have control over the operating system, storage, and applications they deploy, and may have limited control over selected network components (such as host firewalls).

[0132] The deployment model is as follows:

[0133] Private Cloud: Cloud infrastructure is run solely for an organization. The cloud infrastructure can be managed by the organization or a third party and can exist inside or outside the organization.

[0134] Community Cloud: A cloud infrastructure is shared by several organizations and supports a specific community with common interests (e.g., mission, security requirements, policies, and compliance considerations). A community cloud can be managed by multiple organizations within the community or by a third party and can exist inside or outside the community.

[0135] Public cloud: Cloud infrastructure is provided to the public or to large industry groups and is owned by an organization that sells cloud services.

[0136] Hybrid cloud: A cloud infrastructure consisting of two or more clouds (private, community or public) in a deployment model that remain distinct entities but are bound together by standardized or proprietary technologies (such as cloud burst sharing for load balancing between clouds) that enable data and application portability.

[0137] The cloud computing environment is service-oriented, focusing on statelessness, low coupling, modularity, and semantic interoperability. The core of cloud computing is the infrastructure consisting of a network of interconnected nodes.

[0138] Reference now Figure 4 , a schematic diagram of an example of a cloud computing node is shown. Cloud computing node 10 is only one example of a suitable node and is not intended to imply any limitation on the scope of use or functionality of the embodiments of the invention described herein. Regardless, cloud computing node 10 can be implemented and / or perform any of the functions set forth herein.

[0139] Although cloud computing node 10 is depicted as computer system / server 12, it should be understood that it can operate with many other general or special purpose computing system environments or configurations. Examples of well-known computing systems, environments, and / or configurations that may be suitable for use with computer system / server 12 include, but are not limited to, personal computer systems, server computer systems, thin clients, fat clients, handheld or laptop circuits, multiprocessor systems, microprocessor-based systems, set-top boxes, programmable consumer electronics, network PCs, minicomputer systems, mainframe computer systems, and distributed cloud computing environments including any of the above systems or circuits, etc.

[0140] Computer system / server 12 may be described in the general context of computer system executable instructions (such as program modules) executed by a computer system. Generally, program modules may include routines, programs, objects, components, logic, data structures, etc. that perform specific tasks or implement specific abstract data types. Computer system / server 12 may be practiced in a distributed cloud computing environment where tasks are performed by remote processing circuits linked through a communication network. In a distributed cloud computing environment, program modules may be located in local and remote computer system storage media including memory storage circuits.

[0141] Reference now Figure 4 , computer system / server 12 is shown in the form of general computing circuitry. Components of computer system / server 12 may include, but are not limited to, one or more processors or processing units 16, system memory 28, and bus 18 that couples various system components including system memory 28 to processor 16.

[0142] Bus 18 represents one or more of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, a processor or a local bus using any of a variety of bus architectures. By way of example, these architectures include, but are not limited to, an Industry Standard Architecture (ISA) bus, a Micro Channel Architecture (MAC) bus, an Enhanced ISA bus, a Video Electronics Standards Association (VESA) local bus, and a Peripheral Component Interconnect (PCI) bus.

[0143] Computer system / server 12 typically includes a variety of computer system readable media. These media can be any available media that can be accessed by computer system / server 12, including volatile and nonvolatile media, removable and non-removable media.

[0144] The system memory 28 may include computer system readable media in the form of volatile memory, such as random access memory (RAM) 30 and / or cache memory 32. The computer system / server 12 may also include other removable / non-removable volatile / non-volatile computer system storage media. By way of example only, a storage system 34 may be provided for reading and writing to a non-removable non-volatile magnetic medium (not shown and commonly referred to as a "hard drive"). Although not shown, a disk drive for reading and writing to a removable non-volatile disk (e.g., a "floppy disk") and an optical drive for reading or writing to a removable non-volatile optical disk (such as a CD-ROM, DVD-ROM or other optical media) may be provided. In this case, each may be connected to the bus 18 via one or more data media interfaces. As will be further described below, the memory 28 may include a computer program product storing one or more program modules 42, which include computer readable instructions configured to perform one or more features of the present invention.

[0145] By way of example and not limitation, a program / utility 40 having a set (at least one) of program modules 42, as well as an operating system, one or more application programs, other program modules, and program data, may be stored in memory 28. Each of the operating system, one or more application programs, other program modules, and program data, or some combination thereof, may be adapted to be implemented in a network environment. In some embodiments, program modules 42 are adapted to generally perform one or more functions and / or methods of the present invention.

[0146] The computer system / server 12 may also communicate with one or more external devices 14, such as a keyboard, indication circuits, other peripherals such as a display 24, and the like, and with one or more components that support interaction with the computer system / server 12. Such communication may occur via an input / output (I / O) interface 22 and / or any circuitry that enables the computer system / server 12 to communicate with one or more other computing circuits (e.g., a network card, a modem, etc.). For example, the computer system / server 12 may communicate with one or more networks, such as a local area network (LAN), a general purpose wide area network (WAN), and / or a public network (e.g., the Internet) via a network adapter 20. As depicted, the network adapter 20 communicates with other components of the computer system / server 12 via a bus 18. It should be understood that, although not shown, other hardware and / or software components may be used in conjunction with the computer system / server 12. Examples include, but are not limited to, microcode, circuit drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data archival storage systems, among others.

[0147] Reference now Figure 5, depicts an illustrative cloud computing environment 50. As shown, the cloud computing environment 50 includes one or more cloud computing nodes 10, with which local computing circuits used by cloud consumers (e.g., personal digital assistants (PDAs) or cellular phones 54A, desktop computers 54B, laptop computers 54C, and / or automotive computer systems 54N) can communicate. The nodes 10 can communicate with each other. They can be physically or virtually grouped (not shown) in one or more networks (such as private clouds, community clouds, public clouds, or hybrid clouds, or combinations thereof, as described above). This allows the cloud computing environment 50 to provide infrastructure, platform, and / or software as a service for which cloud consumers do not need to maintain resources on local computing circuits. It will be appreciated that Figure 5 The types of computing circuits 54A-N shown are intended to be illustrative only, and computing node 10 and cloud computing environment 50 may communicate with any type of computer circuitry over any type of network and / or network-addressable connection (eg, using a web browser).

[0148] Reference now Figure 6 , showing the cloud computing environment 50 ( Figure 5 ) provides a set of exemplary functional abstraction layers. It should be understood in advance that Figure 6 The components, layers, and functions shown are intended to be illustrative only, and embodiments of the present invention are not limited thereto. As depicted, the following layers and corresponding functions are provided:

[0149] The hardware and software layer 60 includes hardware and software components. Examples of hardware components include: mainframes 61; servers based on RISC (Reduced Instruction Set Computer) architecture 62; servers 63; blade servers 64; storage circuits 65; and network and networking components 66. In some embodiments, software components include network application server software 67 and database software 68.

[0150] The virtualization layer 70 provides an abstraction layer that can provide examples of the following virtual entities: virtual servers 71 , virtual storage 72 , virtual networks 73 (including virtual private networks), virtual applications and operating systems 74 , and virtual clients 75 .

[0151] In one example, the management layer 80 may provide the following functions: Resource provisioning function 81: providing dynamic acquisition of computing resources and other resources for performing tasks in a cloud computing environment; Metering and pricing function 82: tracking the cost of resource usage within the cloud computing environment and providing bills and invoices for this purpose. In one example, the resource may include an application software license. Security function: providing identity authentication for cloud consumers and tasks, and providing protection for data and other resources. User portal function 83: providing access to the cloud computing environment for consumers and system administrators. Service level management function 84: providing allocation and management of cloud computing resources to meet the required service levels. Service level agreement (SLA) planning and fulfillment function 85: providing pre-arrangement and provision for future demand for cloud computing resources predicted according to the SLA.

[0152] The workload layer 90 provides examples of functions that can utilize the cloud computing environment. Examples of workloads and functions that can be provided from this layer include: mapping and navigation 91; software development and lifecycle management 92; virtual classroom teaching delivery 93; data analysis processing 94; transaction processing 95; and metadata-based scientific data characterization methods 100 according to the present invention.

[0153] At any possible technical detail combination level, the present invention may be a system, method and / or computer program product. The computer program product may include a computer-readable storage medium carrying computer-readable program instructions for causing a processor to implement various aspects of the present invention.

[0154] A computer-readable storage medium may be a tangible device that can hold and store instructions used by an instruction execution device. A computer-readable storage medium may be, for example, but not limited to, an electrical storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. More specific examples of computer-readable storage media (a non-exhaustive list) include: a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a static random access memory (SRAM), a portable compact disk read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanical encoding device, such as a punch card or a raised structure in a groove on which instructions are stored, and any suitable combination of the foregoing. As used herein, a computer-readable storage medium is not to be interpreted as a transient signal per se, such as a radio wave or other freely propagating electromagnetic wave, an electromagnetic wave propagating through a waveguide or other transmission medium (e.g., a light pulse through a fiber optic cable), or an electrical signal transmitted through a wire.

[0155] The computer-readable program instructions described herein can be downloaded from a computer-readable storage medium to each computing / processing device, or downloaded to an external computer or external storage device via a network, such as the Internet, a local area network, a wide area network, and / or a wireless network. The network can include copper transmission cables, optical fiber transmissions, wireless transmissions, routers, firewalls, switches, gateway computers, and / or edge servers. The network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards the computer-readable program instructions for storage in the computer-readable storage medium in each computing / processing device.

[0156] The computer program instructions for performing the operation of the present invention may be assembler instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state setting data, integrated circuit configuration data, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages, such as Smalltalk, C++, etc., and procedural programming languages, such as "C" language or similar programming languages. Computer-readable program instructions may be executed entirely on a user's computer, partially on a user's computer, as an independent software package, partially on a user's computer, partially on a remote computer, or entirely on a remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer via 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., using an Internet service provider to connect via the Internet). In some embodiments, an electronic circuit, such as a programmable logic circuit, a field programmable gate array (FPGA), or a programmable logic array (PLA), may be personalized by utilizing the state information of the computer-readable program instructions, and the electronic circuit may execute the computer-readable program instructions, thereby realizing various aspects of the present invention.

[0157] Various aspects of the present invention are described herein with reference to the flow charts and / or block diagrams of the methods, devices (systems) and computer program products according to embodiments of the present invention. It should be understood that each box of the flow chart and / or block diagram and the combination of each box in the flow chart and / or block diagram can be implemented by computer-readable program instructions.

[0158] These computer-readable program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, thereby producing a machine, so that when these instructions are executed by the processor of the computer or other programmable data processing device, a device that implements the functions / actions specified in one or more boxes in the flowchart and / or block diagram is generated. These computer-readable program instructions can also be stored in a computer-readable storage medium, and these instructions cause the computer, programmable data processing device, and / or other equipment to work in a specific manner, so that the computer-readable medium storing the instructions includes a manufactured product, which includes instructions for implementing various aspects of the functions / actions specified in one or more boxes in the flowchart and / or block diagram.

[0159] Computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device so that a series of operating steps are performed on the computer, other programmable data processing apparatus, or other device to produce a computer-implemented process, thereby causing the instructions executed on the computer, other programmable data processing apparatus, or other device to implement the functions / actions specified in one or more boxes in the flowchart and / or block diagram.

[0160] The flow chart and block diagram in the accompanying drawings show the possible architecture, function and operation of the system, method and computer program product according to multiple embodiments of the present invention. In this regard, each square box in the flow chart or block diagram can represent a part of a module, program segment or instruction, and a part of the module, program segment or instruction includes one or more executable instructions for realizing the specified logical function. In some alternative implementations, the function marked in the square box can also occur in a sequence different from that marked in the accompanying drawings. For example, two continuous square boxes can actually be executed substantially in parallel, and they can sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each square box in the block diagram and / or flow chart, and the combination of the square boxes in the block diagram and / or flow chart can be implemented with a dedicated hardware-based system that performs the specified function or action, or can be implemented with a combination of special hardware and computer instructions.

[0161] The embodiments of the present invention have been described above, and the above description is exemplary, not exhaustive, and is not limited to the disclosed embodiments. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments. The terms used herein are selected to best explain the principles of the embodiments, practical applications, or technical improvements to the technology in the market, or to enable other persons of ordinary skill in the art to understand the embodiments disclosed herein.

[0162] Furthermore, it is applicant's intent to encompass equivalents of all claim elements, and any amendment of any claim in this application should not be construed as a disclaimer of any benefit or right to be equivalent to any element or feature of the amended claim.

Claims

1. A computer-implemented metadata-based characterization method, the method comprising: requesting user input specifying rules based on the task, the rules characterizing a single raw data file of heterogeneous files in a knowledge database based on extensions and associated metadata, such that the quality and relationship of the single raw data file in the knowledge database are both determined by the user based on the task, the relationship entered by the user input is between the single raw data file and another data file in the knowledge database, and is an intersection of the contents of the data between the single raw data file and the other data file; applying the rules at scale against a plurality of data files in a knowledge database via a processor running a machine learning based service including scalable processing in parallel hardware utilizing a domain specific raw data parser to identify other data files in the plurality of data files having the same relationships and associated metadata specified in the rules by processing only the data files having the metadata specified in the rules, thereby speeding up processing by not processing the entire knowledge database; processing, via the processor running the machine learning based service, user feedback of a result including the other data files of the plurality of data files using the rules run on the plurality of data files of the knowledge database, and tracking the user feedback on the result to learn from the user feedback via the processor to identify other data files having the same relationship specified in the rules as part of the result; creating, via the processor at each iteration, modified rules based on the user feedback and by iteratively using the machine learning based service at each iteration to determine the quality and relationship of the second data file while also requesting approval or adjustment of the modified rules from the user, the modified rules replacing the rules when applied at scale against the knowledge database; and After the approval or the adjustment from the user, the modified rule is recorded in the knowledge database to recommend the modified rule to different users suitable for the task, wherein the requesting interactively and iteratively systematizes the user input for the associated metadata to characterize a plurality of data files less than a second number of data files in the knowledge database, Also included is determining the quality and relationship of data files in the knowledge database by applying the modified rules on a large scale on the knowledge database, The extension is related to the type of the data file.

2. The method of claim 1, wherein the processing further processes second user feedback to iteratively create third modified rules based on the modified rules run at scale; and in, Based on the learning, the third modified rules are created to determine the quality and relationships of the remaining data files in the knowledge database.

3. The method of claim 1, wherein based on the learning, the modified rules are created to determine the quality and relationships of the remaining data files in the knowledge database.

4. The method of claim 1, further comprising applying the modified rules to remaining data files in the knowledge database to determine the quality and relationships of the data files in the knowledge database.

5. The method of claim 4, wherein the processing further processes second user feedback to iteratively create third modified rules based on the modified rules run at scale.

6. The method of claim 1, wherein the processing is performed by a cloud computing environment to offload computing requirements from a user device to the cloud computing environment, and in, The cloud computing environment includes a cloud computing model for service delivery, the cloud computing model including two or more clouds among: a private cloud, a community cloud, and a public cloud, wherein the two or more clouds remain distinct entities but are bound together by technology that enables data and application portability, thereby achieving load balancing between the two or more clouds.

7. A computer program product for metadata-based characterization, the computer program product comprising program instructions executable by a computer to cause the computer to perform the method according to any one of claims 1 to 6.

8. A metadata-based characterization system, the system comprising: processor; as well as A memory storing instructions for causing the processor to execute the method according to any one of claims 1 to 6.

9. A non-transitory computer readable medium comprising instructions which, when read by a processor, cause the processor to execute the method according to any one of claims 1 to 6.

Citation Information

Patent Citations

  • Content-based notification and user-transparent pull operation for simulated push transmission of wireless email

    US20060224750A1