WO2020187512A1 - Answering requests from enterprise systems background - Google Patents

Answering requests from enterprise systems background Download PDF

Info

Publication number
WO2020187512A1
WO2020187512A1 PCT/EP2020/054028 EP2020054028W WO2020187512A1 WO 2020187512 A1 WO2020187512 A1 WO 2020187512A1 EP 2020054028 W EP2020054028 W EP 2020054028W WO 2020187512 A1 WO2020187512 A1 WO 2020187512A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
pattern
processor
identified
datatype
Prior art date
Application number
PCT/EP2020/054028
Other languages
French (fr)
Inventor
Abhishek Jain
Ashish Kumar
Saiganesh RAMANI
Original Assignee
Siemens Aktiengesellschaft
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens Aktiengesellschaft filed Critical Siemens Aktiengesellschaft
Publication of WO2020187512A1 publication Critical patent/WO2020187512A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management

Definitions

  • Enterprise data analysis may involve data that is spread across different disparate data sources within a single company and/or across different companies.
  • the different data sources may include sources in the cloud and/or sources on premise at one or more of the different companies or
  • the data is to be collated and reconciled to harmonize the data, so that business queries may be answered in a logical fashion. This may require time-consuming data processing (e.g., manual data processing) before and after the data is obtained.
  • the manual data processing may include, for example, data from different sources (e.g., reports stored at different enterprise systems) being manually linked.
  • Analytic tools such as, for example, tableau or Microsoft Excel may be used to correlate the data across the reports.
  • a conglomerated report may then be produced. This data processing is time- consuming and not scalable across different divisions within the single company and/or the different companies.
  • the data processing may include
  • identified pattern is matched with a stored pattern, a datatype associated with the stored pattern is identified and associated with the identified pattern. Data with the same associated datatype is automatically linked, and linked data from disparate data sources may be returned in response to a data request.
  • a method for answering requests from enterprise systems includes identifying, by a first
  • processor data from a source, identifying, by the processor, a pattern within the data, and comparing, by the processor, the identified pattern to a plurality of stored patterns stored in a memory.
  • the memory is in communication with the processor. Based on the comparison, when the identified pattern matches a stored pattern of the plurality of stored patterns, the processor identifies a datatype associated with the matched stored pattern of the plurality of stored
  • the processor receives a request for data from a second processor remote from the first processor, and identifies the data from the source based on the request, and the identified datatype associated with the data from the source.
  • a response to the request is transmitted to the second processor based on the identified data from the source .
  • a system for associating data from different sources includes a database and a processor in communication with the database.
  • the processor is configured to receive first data from a first enterprise system, receive second data from a second enterprise system, extract a first schema from the first data, and extract a second schema from the second data.
  • the database is configured to store the first schema and the second schema.
  • the extraction of the first schema includes identification of a first pattern within the first data
  • the extraction of the second schema includes identification of a second pattern within the second data.
  • the processor is further configured to compare the identified first pattern and the identified second pattern to a plurality of patterns stored in the database or a memory separate from the database. Based on the comparison, when the identified first pattern and the identified second pattern both match a pattern of the plurality of stored patterns, the processor is configured to identify a datatype associated with the matched pattern, and associate the datatype with the first pattern and the second pattern in the database .
  • a method for linking data for parts from different sources includes receiving, by a processor, first data from a first enterprise system, and receiving, by the processor, second data from a second enterprise system remote from the first enterprise system.
  • the first data includes a first data string
  • the second data includes a second data string.
  • the processor identifies a pattern within the first data string and identifies the pattern within the second data string.
  • the processor compares the identified pattern to a plurality of patterns stored in a memory. Each pattern of the plurality of patterns has a datatype associated with the respective pattern.
  • the processor identifies a matched pattern of the plurality of patterns stored in the memory.
  • the matched pattern matches the pattern identified within the first data string and the second data string.
  • the associated datatype for the matched pattern is a part number.
  • the processor identifies the first data string and the second data string as a first part number and a second part number, respectively, based on the identifying of the matched patter.
  • a database in communication with the processor links the first part number with the second part number.
  • Figure 1 shows one embodiment of a system for sharing data among a plurality of users of an enterprise
  • Figure 2 shows one embodiment of a computer system for use with the system of FIG. 1;
  • Figure 3 shows a flowchart of one embodiment of a method for answering a request for data from enterprise systems .
  • a user may generate a search query requesting, for example, data for a total cost of a project.
  • data from multiple divisions within and outside of a company is needed.
  • the total cost of the project may include, for example, a cost of purchased parts from multiple OEMs, a cost of manufactured parts, a costs for engineers (e.g., salaries) working on the project, and/or other costs.
  • Data from a human resources enterprise system, data from at least one part management enterprise system, data from at least one manufacturing enterprise system, data from an engineering design enterprise system, and/or data from other enterprise systems may be ingested by a central server.
  • the server identifies patterns within the ingested data and compares the identified patterns to a plurality of stored patterns stored in a memory.
  • Hierarchical datatypes assigned to the matched stored patterns are identified and assigned to subsets of the data from the human resources enterprise system, the data from the at least one part management enterprise system, the data from the at least one manufacturing enterprise system, and/or the data from the other enterprise systems. Links across the different
  • the server processes the generated search query using a generated semantic model that includes the identified links within the ingested data, and the assigned hierarchical datatypes.
  • the project may include a part designed by an engineer at the company. Prototypes of the part were
  • the first data string from the engineering design manufacturing enterprise system is identified as a part number for the part.
  • a pattern identified within the first data string is matched (e.g., character pattern matched, both data strings include six characters, three letters followed by three numbers) with a stored pattern of the plurality of stored patterns, and the first data string is identified as representing a part number.
  • the assigned hierarchical datatype may identify the first data string as representing a part number for the part used in the project.
  • the server 104 may calculate a total cost for the part based on this data and/or additional, less, and/or different data. Alternatively, the server 104 may return the linked raw data to, for example, a computing device for further processing by the user. This may be repeated for all parts and/or other aspects of the project.
  • the first data string may be matched with a fourth data string of the human resources enterprise system.
  • Data associated with the fourth data string may identify the engineer, a cost of the engineer to the company (e.g., salary, benefits, and overhead) per hour worked, and a time spent by the engineer on the part for the project.
  • the calculation of the total cost for the part by the server may also include this data.
  • the EDI extracts schema from the received data and stores the extracted schema in a database (e.g., a metadata registry) .
  • the EDI also extracts patterns from the received data during schema extraction. During the pattern extraction, values may be randomly sampled to create data patterns using regular expressions.
  • custom datatypes that are unique to a specific industry or company are identified based on predefined pattern matches. Data types that are specific to an industry or a company may thus be matched. This enables proper representation of the data received by the EDI even though the data is not transformed into a neutral data format.
  • the extracted schema is marked with user-defined datatypes that identify fields such as, for example, part numbers, classification codes, and vin codes as part of the schema extraction process. For example, matched patterns are mapped to a specific datatype.
  • the user-defined datatypes are hierarchical in that a top most level of the hierarchical datatype is a generic datatype, and the datatypes get more specific moving down the hierarchy.
  • object models that represent the extracted models are generated, and the object models are linked through properties (e.g., patterns) of the object models based on the matching data types of the schema.
  • a semantic model inference mechanism of the EDI infers a semantic business model based on the extracted schema and maps properties across different data schema of the extracted schema using the marked user-defined datatypes and the patterns extracted during the schema extraction.
  • the EDI when queries (e.g., requests for data) are executed, the EDI returns data that spans across multiple disparate data sources (e.g., the different enterprise systems), as the semantic business model represents a linked semantic model that a user or an application may use.
  • the extraction and linking provided by the EDI scales easily with a large number of customers spanning across a number of different industry verticals (e.g., automotive OEMs,
  • Applications may thus be built on top of an interconnected data framework rather than trying to connect the applications and link the data.
  • the linking provided by the EDI removes the need for the time consuming manual processing required in the prior art.
  • FIG. 1 shows one embodiment of a system 100 for
  • the enterprise systems may be within any number of divisions within one or more
  • the system 100 includes a plurality of computing devices 102 (e.g., a first computing device 102a, a second computing device 102b, and a third computing device 102c) in communication with a server 104 (e.g., an enterprise data interconnect) via a network 106.
  • a server 104 e.g., an enterprise data interconnect
  • Figure 1 shows three computing devices 102.
  • the system 100 may include more or fewer computing devices 102.
  • the server 104 includes a database 108. Users (e.g., workers at one or more enterprises) may use the plurality of
  • the system 100 may include more or fewer computing devices 102.
  • Each computing device of the plurality of computing devices 102 and the server 104 may be located in the same or different rooms, the same or different facilities, or the same or different enterprise campuses.
  • the plurality of computing devices 102 may be operated by a first enterprise, and the server 104 may be operated by a second enterprise.
  • the plurality of computing devices 102 may be operated in a first geographic location, and the server 104 may be operated in a second geographic location, the second geographic location being remote from the first geographic location.
  • the database 108 may be included within the server 104 or may be separate from the server 108. In one
  • the database 108 is a metadata registry. Other databases may be provided.
  • the system 100 may include more databases 108 within the server 104 or separate from the server 104.
  • the database 108 includes a plurality of data records. Each data record of the plurality of data records may, for
  • the data may be generated by one of the workers at the first computing device 102a, the second computing device 102b, or the third computing device 102c, for example, or may be received from another computing device outside of the network 106.
  • the data may be in any number of forms including, for example, tabular data (e.g., in Microsoft Excel) .
  • the plurality of computing devices 102 transmit data to the server 104 in a push or pull arrangement so that the server 104 may interconnect the data (e.g., associate the data) .
  • the server 104 ingests data received from the plurality of computing devices 102.
  • the server 104 receives first data from the first computing device 102a, second data from the second computing device 102b, and third data from the third
  • the first computing device 102a, the second computing device 102b, and the third computing device may operate within different divisions of the same company (e.g., accounting, manufacturing, engineering) or may operate within two or more different companies (e.g., an original equipment manufacturer (OEM) and a customer using parts from the OEM) .
  • OEM original equipment manufacturer
  • the server 104 extracts a first schema from the first data, a second schema from the second data, and a third schema from the third data, and the database 108 stores the first schema, the second schema, and the third schema as at least part of corresponding data records.
  • the server 104 may extract the first schema, the second schema, and the third schema in any number of ways including, for example, via the WebTables schema extraction method. Other extraction methods may be used .
  • the first schema, the second schema, and the third schema may be represented in any number of ways including, for example, in a text database language or as graphical depictions and may include a set of formulas (e.g., sentences referred to as integrity constraints) imposed on a database.
  • the server 104 may extract schema from more, less, and/or different data received from additional, fewer, and/or different computing devices 102.
  • the server 104 identifies custom datatypes that are unique for an industry or a specific company.
  • the server 104 extracts patterns from, for example, at least the first data, the second data, and the third data.
  • the first data includes a plurality of first data strings
  • the second data includes a plurality of second data strings
  • the third data includes a plurality of third data strings.
  • the server 104 extracts patterns from the plurality of first data strings, the plurality of second data strings, and the plurality of third data strings.
  • the server 104 identifies (e.g., extracts) a first pattern from a first data string of the plurality of first data strings and extracts a second pattern from a second data string of the plurality of second data strings.
  • the first pattern and the second pattern may take any number of forms including, for example, regular expressions.
  • the regular expressions of the first pattern and the second pattern may include a number of characters within the first data, a particular type of character, numbers of different types of characters, respectively, within the respective data string, an order of the characters within the respective data string, other and/or different forms, or any combination thereof.
  • the different types of characters may include letters, numbers, and symbols.
  • the server 104 may extract patterns from all or some of the first data strings, the second data strings, the third data
  • the database 108 may store the
  • the first pattern extracted from the first data string may identify that the first data string includes nine characters, with the first four characters being letters and the last five characters being numbers.
  • the first data may include, for example, a first set of tabular data (e.g., a first Microsoft Excel spreadsheet) with a number of columns and rows.
  • the first set of tabular data may include
  • the first data string is located within a
  • the server 104 extracts the first pattern when the server 104 ingests the first data.
  • the server 104 compares the first pattern to a plurality of stored patterns stored in the database or another memory in communication with the server 104.
  • the plurality of stored patterns may be identified and stored during schema
  • the first pattern is added to the plurality of stored patterns.
  • the server 104 randomly samples values of the ingested data to generate the plurality of stored patterns.
  • the server 104 Based on the comparison of the first pattern to the plurality of stored patterns, if the first pattern matches a stored pattern of the plurality of stored patterns (e.g., including nine characters, with the first four characters being letters and the last five characters being numbers), the server 104 identifies a datatype associated with the matched stored pattern.
  • the server 104 identifies datatypes associated with the plurality of stored patterns, and the database 108 or another memory stores the identified datatypes.
  • the datatypes associated with the plurality of stored patterns may be defined by a user at any number of times.
  • the server 104 may send a query to, for example, the first computing device 102a for a datatype associated with the first data string when the first pattern does not match any of the plurality of stored patterns, and the server 104 may receive the datatype from a worker via the first computing device 102a and associate the received datatype with the first data string within the database 108.
  • the worker identifies datatypes within the first data (e.g., corresponding to data strings within the first data) before the server 104 ingests the first data and transmits the identified datatypes to the server 104.
  • the server 104 automatically determines the datatype
  • the server 104 identifies data at a particular location within, for example, the first set of tabular data (e.g., a first cell of a column or a row of the first set of tabular data) or data within the first set of tabular data of a particular type (e.g., characters are all letters) as the datatype .
  • the first set of tabular data e.g., a first cell of a column or a row of the first set of tabular data
  • a particular type e.g., characters are all letters
  • the datatype (e.g., the user-defined datatype) is hierarchical in that a top most level of the datatype is a generic datatype, and the datatype is more specific the further down the level in the hierarchy.
  • the hierarchical datatype associated with the first data string may include a top most generic datatype of
  • a hierarchical datatype more thoroughly describes data (e.g., the first data string) ingested by the server 104, which may improve
  • the server 104 associates the identified datatype with, for example, the first data string and/or the first pattern.
  • the database 108 or another memory stores the association of the identified datatype with the first data string and/or the first pattern.
  • the server 104 identifies the same datatype (e.g., part number) associated with the matched stored pattern and the first pattern and associates the same datatype with the second pattern and/or the second data string. If the second pattern does not match any stored patterns of the plurality of stored patterns, the second pattern is added to the plurality of stored patterns. If the second pattern matches another stored pattern of the plurality of stored patterns, the server 104 identifies the datatype associated with the other matched stored pattern and associates the datatype associated with the other matched stored pattern with the second pattern and/or the second data string. The server 104 repeats the comparison of an identified pattern with the plurality of stored patterns, the identification of a
  • the server 104 generates a semantic model based on at least the extracted first schema, the extracted second schema, and/or the extracted third schema.
  • the semantic model may be generated based on more, fewer, and/or different extracted schema.
  • Generating the semantic model includes mapping (e.g., linking) the matched patterns across extracted schema. For example, when the first pattern and the second pattern both match a stored pattern of the plurality of stored patterns and are assigned a datatype associated with the matched stored pattern, the server 104 links the first pattern with the second patterns and thus, the first data string with the second data string. In one embodiment, the server 104 automatically links the first pattern and the second
  • the linking may be stored by the database 108 or another memory.
  • the generated semantic model allows linked data to be
  • a user For example, a user generates a search query via a user interface at the first computing device 102a or another computing device.
  • the first computing device 102a for example, transmits the generated search query to the server 104 via the network 106.
  • the server 104 may identify the first data string, originating from the first computing device 102a, based on the associated datatype and the
  • the server 104 may also identify the second data string based on the linking.
  • the server 104 may identify additional, less, and/or different data based on data linking based on identified datatypes.
  • the server 104 may return at least the identified first data string and the second data string in response to the search query. In other words, in response to a business query, the server 104 may identify and return data that spans across multiple disparate data sources.
  • FIG. 2 shows an illustrative embodiment of a general computer system 200.
  • the computer system 200 may include a set of instructions that may be executed to cause the computer system 200 to perform any one or more of the methods or computer based functions disclosed herein.
  • the computer system 200 may operate as a standalone device or may be connected (e.g., using the network 106) to other computer systems or peripheral devices. Any of the components discussed above (e.g., the first computing device 102a, the second computing device 102b, the third computing device 102c, and/or the server 104) may be a computer system 200 or a component in the computer system 200.
  • the computer system 200 may operate in the capacity of a server or as a client user computer in a client-server user network environment, or as a peer computer system in a peer-to-peer (or distributed) network environment.
  • the computer system 200 may also be implemented as or incorporated into various devices, such as a personal computer (PC) , a tablet PC, a set-top box (STB) , a personal digital assistant (PDA) , a mobile device, a palmtop computer, a laptop computer, a desktop computer, a
  • PC personal computer
  • PDA personal digital assistant
  • a communications device a wireless telephone, a land-line telephone, a control system, a camera, a scanner, a facsimile machine, a printer, a pager, a personal trusted device, a web appliance, a network router, switch or bridge, or any other machine capable of executing a set of instructions
  • the computer system 200 may be implemented using electronic devices that provide voice, video or data communication. Further, while a single computer system 200 is illustrated, the term "system” shall also be taken to include any collection of systems or sub-systems that individually or jointly execute a set, or multiple sets, of instructions to perform one or more computer functions.
  • the computer system 200 may include a processor 202, e.g., a central processing unit (CPU), a graphics processing unit (GPU), or both.
  • a processor 202 e.g., a central processing unit (CPU), a graphics processing unit (GPU), or both.
  • CPU central processing unit
  • GPU graphics processing unit
  • processor 202 may be a component in a variety of systems.
  • the processor 202 may be part of a standard personal computer or a workstation.
  • the processor 202 may be one or more general processors, digital signal processors,
  • the processor 202 may implement a software program, such as code generated manually (i.e., programmed) .
  • the computer system 200 may include a memory 204 that may communicate via a bus 208.
  • the memory 204 may be
  • the memory 204 may be a main memory, a static memory, or a dynamic memory.
  • the memory 204 may include but is not limited to computer readable storage media such as various types of volatile and non volatile storage media, including but not limited to random access memory, read-only memory, programmable read-only memory, electrically programmable read-only memory,
  • the memory 204 includes a cache or random access memory for the processor 202. In alternative embodiments, the memory 204 is separate from the processor 202, such as a cache memory of a processor, the system memory, or other memory.
  • the memory 204 may be an external storage device or database for storing data. Examples include a hard drive, compact disc (“CD”) , digital video disc (“DVD”) , memory card, memory stick, floppy disc, universal serial bus (“USB”) memory device, or any other device operative to store data.
  • the memory 204 is operable to store instructions executable by the processor 202. The functions, acts or tasks
  • the computer system 200 may further include a display unit 214, such as a liquid crystal display (LCD), an organic light emitting diode (OLED) , a flat panel display, a solid state display, a cathode ray tube (CRT), a projector, a printer or other now known or later developed display device for outputting determined information.
  • the display 214 may act as an interface for the user to see the functioning of the processor 202, or specifically as an interface with the software stored in the memory 204 or in a disk or optical drive unit 206 (e.g., a disk drive unit) .
  • the computer system 200 may include an input device 216 configured to allow a user to interact with any of the components of system 200.
  • the input device 216 may be a number pad, a keyboard, or a cursor control device, such as a mouse, or a joystick, touch screen display, remote control or any other device operative to interact with the system 200.
  • the computer system 200 may also include the disk or optical drive unit 206.
  • the disk drive unit 206 may include a computerreadable medium 210, in which one or more sets of instructions 212 (e.g., software) may be embedded. Further, the instructions 212 may embody one or more of the methods or logic as
  • the instructions 212 may reside completely, or at least partially, within the memory 204 and/or within the processor 202 during execution by the computer system 200.
  • the memory 204 and the processor 202 also may include computer-readable media as discussed above.
  • the present disclosure contemplates a non-transitory
  • a computer-readable medium that includes instructions 212 or receives and executes instructions 212 responsive to a propagated signal, so that a device connected to a network 220 may communicate voice, video, audio, images or any other data over the network 220. Further, the instructions 212 may be transmitted or received over the network 220 via a
  • the communication port 218 may be a part of the processor 202 or may be a separate component.
  • the communication port 218 may be created in software or may be a physical connection in hardware.
  • the communication port 218 is configured to connect with the network 220 or another network, external media, the display 214, any other
  • connection with the network 220 may be a physical connection, such as a wired Ethernet connection or may be established wirelessly as discussed below.
  • additional connections with other components of the system 200 may be physical connections or may be established wirelessly.
  • the network 220 may include wired networks, wireless
  • the wireless network may be a cellular telephone network, an 802.11, 802.16, 802.20, or WiMax network.
  • the network 220 may be a public network, such as the Internet, a private network, such as an intranet, or combinations thereof, and may utilize a variety of
  • While the computer-readable medium is shown to be a single medium, the term “computer-readable medium” includes a single medium or multiple media (e.g., a centralized or distributed database and/or associated caches and servers that store one or more sets of instructions) .
  • the term “computer-readable medium” shall also include any medium that is capable of storing, encoding or carrying a set of instructions for execution by a processor or that cause a computer system to perform any one or more of the methods or operations
  • the computer-readable medium may include a solid-state memory such as a memory card or other package that houses one or more non-volatile read-only memories. Further, the computer- readable medium may be a random access memory or other volatile re-writable memory. Additionally, the computer- readable medium may include a magneto-optical or optical medium, such as a disk or tapes or other storage device to capture carrier wave signals such as a signal communicated over a transmission medium. A digital file attachment to an email or other self-contained information archive or set of archives may be considered a distribution medium that is a tangible storage medium. Accordingly, the disclosure is considered to include any one or more of a computer-readable medium or a distribution medium and other equivalents and successor media, in which data or instructions may be stored.
  • dedicated hardware implementations such as application specific integrated circuits, programmable logic arrays and other hardware devices, may be constructed to implement one or more of the methods described herein.
  • Applications that may include the apparatus and systems of various embodiments may broadly include a variety of
  • One or more embodiments described herein may implement functions using two or more specific interconnected hardware modules or devices with related control and data signals that may be communicated between and through the modules, or as portions of an
  • the present system encompasses software, firmware, and hardware implementations .
  • the methods described herein may be implemented by software programs executable by a computer system.
  • implementations may include distributed processing
  • HTTPS HyperText Transfer Protocol
  • FIG. 3 shows a flowchart of one embodiment of a method 300 for answering requests for data from enterprise systems.
  • the method 300 may be performed using the system 100 shown in FIG. 1 or another system.
  • the method 300 is implemented in the order shown, but other orders may be used. Additional, different, or fewer acts may be provided. Similar methods may be used for presenting information relevant to user activity.
  • a first processor identifies first data from a first source.
  • the first processor may identify additional and/or different data from additional and/or different sources.
  • the first processor may identify second data from a second source.
  • the first processor may be a processor of a server in
  • the first source may be a first enterprise system
  • the second source may be a second enterprise system.
  • the first enterprise system may include one or more computing devices within a first division of a company (e.g., parts storage)
  • the second enterprise system may include one or more computing devices within a second division of the company or another company (e.g., manufacturing) . Additional, fewer, and/or different enterprise systems may be in
  • the first processor may ingest the first data from the first source, the second data from the second source, and/or other data from other sources in communication with the first processor.
  • the first data may be data within a first tabular dataset (e.g., a first Microsoft Excel spreadsheet) and may represent a data string within a cell of the first tabular dataset.
  • the first data may be or include a first data string that represents a first part number.
  • the second data may be data within a second tabular dataset
  • the second data may be or include a second data string that represents a second part number.
  • the first processor may ingest and a memory may store data from multiple sources. This may be done in anticipation of future queries. Alternatively, this may be done in response to a particular query.
  • the first processor may ingest the data from, for example, tabular datasets from multiple disparate sources. The ingested data may be in other, not tabular forms.
  • the first processor identifies a first pattern within the first data.
  • the first processor may identify additional and/or different patterns within additional and/or different data.
  • the first processor may also identify a second pattern within the second data. Identifying the first pattern and/or the second pattern within the first data and/or the second data, respectively, may include, for example: identifying a number of characters within the first data and/or the second data; identifying a particular type of character; identifying numbers of different types of
  • the first pattern and/or the second pattern may include nine characters, with the first five characters being numbers and the four following characters being letters
  • Such a pattern may be represented as “schema”: " [ 0-9 ] ⁇ 5 ⁇ + [A-Z ] ⁇ 4 ⁇ +” .
  • the first pattern and/or the second pattern may represent email addresses (e.g.,
  • Such a pattern may be represented as "schema”: " [a- z] + [ ⁇ . ] [ a-z ] +@siemens . com” .
  • the first processor compares the identified first pattern to a plurality of stored patterns stored in a memory.
  • the memory is in communication with the first processor.
  • the first processor may also compare additional and/or different patterns to the plurality of stored patterns. For example, the first processor may compare the identified second pattern to the plurality of stored patterns.
  • the first processor determines whether the first pattern matches any stored patterns of the plurality of stored patterns stored in the memory. Determination of whether the first pattern matches any stored patterns of the plurality of patterns may include determination of whether at least a portion of the first pattern matches, in types of characters (e.g., first five characters include three
  • determination of whether the first pattern matches any stored patterns of the plurality of patterns may include
  • a particular type of part number (e.g., for a particular wind turbine) may include "xyzl23" as the first six characters of the data string for a number of different parts, with characters after the first six characters identifying the particular part.
  • Such a determination may be based on not only the type of character and/or the locations of the types of characters within the data string, but may be also based on the
  • the method 300 moves to act 310. If the first processor
  • the method 300 moves to act 314.
  • the same determination applies to other patterns such as, for example, the second pattern.
  • the first processor identifies a datatype
  • the identified datatype may be any number of different datatypes
  • the first processor identifies the datatype associated with the matched stored pattern and also associates the identified datatype with the second data and/or the second pattern. If the identified second pattern matches another stored pattern of the plurality of stored patterns, the first processor identifies another datatype associated with the other matched stored pattern (e.g., different than the stored pattern matching the first pattern) and associated the identified other datatype with the second data and/or the second
  • the first processor links the first data and/or the first pattern with other data and/or patterns identified by the first processor also matching the same stored pattern.
  • the first processor links the first data and/or the first pattern with the second data and/or the second pattern when the first pattern and the second pattern both match the same stored pattern of the plurality of stored patterns stored in the memory.
  • the link may be stored, for example, in a database in communication with the first processor.
  • the linking is stored as part of a semantic model.
  • the linking may be stored in any number of formats including, for example, text database language or as a graphical depiction.
  • the first processor adds the identified first pattern to the plurality of stored patterns stored in the memory.
  • the first processor adds the identified second pattern to the plurality of stored patterns stored in the memory.
  • the first processor may also identify and store a datatype associated with the first pattern and/or the second pattern when the identified first pattern and/or the identified second pattern does not match any stored pattern of the plurality of stored patterns. For example, the first
  • processor may receive the associated datatype from a user via a user interface in communication with the first processor.
  • the first processor automatically determines whether the first processor automatically determines whether the first processor automatically determines whether the first processor automatically determines whether the first processor automatically determines whether the first processor automatically
  • the identified first pattern identifies the datatype associated with the first pattern, for example, when the identified first pattern does not match any stored pattern of the plurality of stored patterns based on analysis of other data stored with the first pattern
  • the identified datatype is a hierarchical datatype.
  • the hierarchical datatype may, for example, include a top-most generic datatype and one or more lower level datatypes more specific than the top-most generic datatype.
  • the first processor receives a request for data from a second processor remote from the first processor.
  • the second processor may be part of a workstation within an enterprise system in communication with the first processor.
  • the request is from the first processor.
  • the request may be in natural language (e.g., provide data for parts within a project for a wind turbine that cost less than $500) .
  • the first processor identifies the first data based on the request and the identified datatype (e.g., hierarchical datatype) associated with the first data.
  • the first processor may identify the first data using the identified datatype (e.g., hierarchical datatype) associated with the first data.
  • the first processor also identifies the second data based on the stored linking of the first data with the second data within the generated semantic model.
  • the first processor transmits a response to the request to the second processor based on the identified first data and the identified second data.
  • the first processor may transmit raw data identified in response to the request.
  • the first processor may further process the identified data (e.g., the first data and the second data) and generate a response to the request based on the identified data (e.g., the first data and the second data) and generate a response to the request based on the identified data (e.g., the first data and the second data) and generate a response to the request based on the identified data (e.g., the first data and the second data) and generate a response to the request based on the

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Resources & Organizations (AREA)
  • Operations Research (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Data Mining & Analysis (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

In order to return data from disparate data sources in response to a data request, patterns within ingested data are identified and compared to stored patterns. When an identified pattern is matched with a stored pattern, a datatype associated with the stored pattern is identified and associated with the identified pattern. Data with the same associated datatype is automatically linked, and linked data from disparate data sources may be returned in response to a data request.

Description

Description
ANSWERING REQUESTS FROM ENTERPRISE SYSTEMS BACKGROUND
Enterprise data analysis may involve data that is spread across different disparate data sources within a single company and/or across different companies. The different data sources may include sources in the cloud and/or sources on premise at one or more of the different companies or
facilities. The data is to be collated and reconciled to harmonize the data, so that business queries may be answered in a logical fashion. This may require time-consuming data processing (e.g., manual data processing) before and after the data is obtained.
The manual data processing may include, for example, data from different sources (e.g., reports stored at different enterprise systems) being manually linked. Analytic tools such as, for example, tableau or Microsoft Excel may be used to correlate the data across the reports. A conglomerated report may then be produced. This data processing is time- consuming and not scalable across different divisions within the single company and/or the different companies.
As another example, the data processing may include
transforming the different data sources to a common neutral format and building systems and applications that would query and retrieve information from this common neutral data format. Building the applications includes upfront data modelling to convert different models to a common data schema. This may involve compromises as to how the data is represented and may not scale to a wide variety of use cases without enhancing and extending the common data schema. Any change to the common data schema may require system downtime while the common data schema is upgraded, and migration of data during the common data schema upgrade may be time- consuming . SUMMARY
In order to return data from disparate data sources in response to a data request, patterns within ingested data are identified and compared to stored patterns. When an
identified pattern is matched with a stored pattern, a datatype associated with the stored pattern is identified and associated with the identified pattern. Data with the same associated datatype is automatically linked, and linked data from disparate data sources may be returned in response to a data request.
In a first aspect, a method for answering requests from enterprise systems includes identifying, by a first
processor, data from a source, identifying, by the processor, a pattern within the data, and comparing, by the processor, the identified pattern to a plurality of stored patterns stored in a memory. The memory is in communication with the processor. Based on the comparison, when the identified pattern matches a stored pattern of the plurality of stored patterns, the processor identifies a datatype associated with the matched stored pattern of the plurality of stored
patterns and associates the identified datatype with the data from the source. The processor receives a request for data from a second processor remote from the first processor, and identifies the data from the source based on the request, and the identified datatype associated with the data from the source. A response to the request is transmitted to the second processor based on the identified data from the source .
In a second aspect, a system for associating data from different sources includes a database and a processor in communication with the database. The processor is configured to receive first data from a first enterprise system, receive second data from a second enterprise system, extract a first schema from the first data, and extract a second schema from the second data. The database is configured to store the first schema and the second schema. The extraction of the first schema includes identification of a first pattern within the first data, and the extraction of the second schema includes identification of a second pattern within the second data. The processor is further configured to compare the identified first pattern and the identified second pattern to a plurality of patterns stored in the database or a memory separate from the database. Based on the comparison, when the identified first pattern and the identified second pattern both match a pattern of the plurality of stored patterns, the processor is configured to identify a datatype associated with the matched pattern, and associate the datatype with the first pattern and the second pattern in the database .
In a third aspect, a method for linking data for parts from different sources includes receiving, by a processor, first data from a first enterprise system, and receiving, by the processor, second data from a second enterprise system remote from the first enterprise system. The first data includes a first data string, and the second data includes a second data string. The processor identifies a pattern within the first data string and identifies the pattern within the second data string. The processor compares the identified pattern to a plurality of patterns stored in a memory. Each pattern of the plurality of patterns has a datatype associated with the respective pattern. The processor identifies a matched pattern of the plurality of patterns stored in the memory.
The matched pattern matches the pattern identified within the first data string and the second data string. The associated datatype for the matched pattern is a part number. The processor identifies the first data string and the second data string as a first part number and a second part number, respectively, based on the identifying of the matched patter. A database in communication with the processor links the first part number with the second part number.
BRIEF DESCRIPTION OF THE DRAWINGS The examples of the invention described below can be better understood with reference to the following figures. The components in the figures are not necessarily to scale, emphasis instead being placed upon illustrating the
principles of the invention. In the figures, like reference numerals designate corresponding parts throughout the
different views.
Figure 1 shows one embodiment of a system for sharing data among a plurality of users of an enterprise
resource management architecture;
Figure 2 shows one embodiment of a computer system for use with the system of FIG. 1; and
Figure 3 shows a flowchart of one embodiment of a method for answering a request for data from enterprise systems .
DE TAILED DESCRIPTION
A user may generate a search query requesting, for example, data for a total cost of a project. To answer such a search query, data from multiple divisions within and outside of a company is needed. The total cost of the project may include, for example, a cost of purchased parts from multiple OEMs, a cost of manufactured parts, a costs for engineers (e.g., salaries) working on the project, and/or other costs. Data from a human resources enterprise system, data from at least one part management enterprise system, data from at least one manufacturing enterprise system, data from an engineering design enterprise system, and/or data from other enterprise systems may be ingested by a central server. The server identifies patterns within the ingested data and compares the identified patterns to a plurality of stored patterns stored in a memory. Based on matched patterns between the ingested data and the plurality of stored patterns, hierarchical datatypes assigned to the matched stored patterns are identified and assigned to subsets of the data from the human resources enterprise system, the data from the at least one part management enterprise system, the data from the at least one manufacturing enterprise system, and/or the data from the other enterprise systems. Links across the different
enterprise systems are identified within the ingested data based on the matches. The server processes the generated search query using a generated semantic model that includes the identified links within the ingested data, and the assigned hierarchical datatypes.
As an example, the project may include a part designed by an engineer at the company. Prototypes of the part were
manufactured at the company, and two different OEMs supply the part after the prototypes were approved. Based on
matching (e.g., exact matching of characters) a first data string from the engineering design enterprise system ingested by the server with a stored pattern of the plurality of stored patterns, the first data string from the engineering design manufacturing enterprise system is identified as a part number for the part. Alternatively, a pattern identified within the first data string is matched (e.g., character pattern matched, both data strings include six characters, three letters followed by three numbers) with a stored pattern of the plurality of stored patterns, and the first data string is identified as representing a part number.
Further data processing (e.g., analysis of metadata) may be necessary to identify the specific part the identified part number represents. The assigned hierarchical datatype may identify the first data string as representing a part number for the part used in the project. The server 104
automatically links, based on pattern matching, the first data string with, for example, a second data string from the at least one part management enterprise system, and a third data string from the at least one manufacturing enterprise system. Data associated and stored with the second data string and the third data string may identify a number of parts and cost for purchasing the part from the multiple OEMs and a number of parts and cost for manufacturing the part internally, respectively. The server 104 may calculate a total cost for the part based on this data and/or additional, less, and/or different data. Alternatively, the server 104 may return the linked raw data to, for example, a computing device for further processing by the user. This may be repeated for all parts and/or other aspects of the project. For example, the first data string may be matched with a fourth data string of the human resources enterprise system. Data associated with the fourth data string may identify the engineer, a cost of the engineer to the company (e.g., salary, benefits, and overhead) per hour worked, and a time spent by the engineer on the part for the project. The calculation of the total cost for the part by the server may also include this data.
When data from different enterprise systems are received at an enterprise data interconnect (EDI) (e.g., the server including one or more processors in communication with one or more memories) of one or more of the present embodiments, the EDI extracts schema from the received data and stores the extracted schema in a database (e.g., a metadata registry) . The EDI also extracts patterns from the received data during schema extraction. During the pattern extraction, values may be randomly sampled to create data patterns using regular expressions. During the extraction of the schema, custom datatypes that are unique to a specific industry or company are identified based on predefined pattern matches. Data types that are specific to an industry or a company may thus be matched. This enables proper representation of the data received by the EDI even though the data is not transformed into a neutral data format.
The extracted schema is marked with user-defined datatypes that identify fields such as, for example, part numbers, classification codes, and vin codes as part of the schema extraction process. For example, matched patterns are mapped to a specific datatype. The user-defined datatypes are hierarchical in that a top most level of the hierarchical datatype is a generic datatype, and the datatypes get more specific moving down the hierarchy.
Based on the extracted schema, object models that represent the extracted models are generated, and the object models are linked through properties (e.g., patterns) of the object models based on the matching data types of the schema. For example, a semantic model inference mechanism of the EDI infers a semantic business model based on the extracted schema and maps properties across different data schema of the extracted schema using the marked user-defined datatypes and the patterns extracted during the schema extraction.
Thus, when queries (e.g., requests for data) are executed, the EDI returns data that spans across multiple disparate data sources (e.g., the different enterprise systems), as the semantic business model represents a linked semantic model that a user or an application may use.
The extraction and linking provided by the EDI scales easily with a large number of customers spanning across a number of different industry verticals (e.g., automotive OEMs,
aerospace engine manufacturers, etc.) . Applications may thus be built on top of an interconnected data framework rather than trying to connect the applications and link the data.
The linking provided by the EDI removes the need for the time consuming manual processing required in the prior art.
FIG. 1 shows one embodiment of a system 100 for
interconnecting data from different enterprise systems (e.g., a plurality of enterprise systems) across a single enterprise or multiple different enterprises. The enterprise systems may be within any number of divisions within one or more
companies, such as, for example, human resources management systems, part management systems, manufacturing process systems, invoicing systems, inventory management systems, shipping systems, computer assisted design systems, and/or other systems. The system 100 includes a plurality of computing devices 102 (e.g., a first computing device 102a, a second computing device 102b, and a third computing device 102c) in communication with a server 104 (e.g., an enterprise data interconnect) via a network 106. Figure 1 shows three computing devices 102. The system 100 may include more or fewer computing devices 102.
The server 104 includes a database 108. Users (e.g., workers at one or more enterprises) may use the plurality of
computing devices 102 to receive and/or generate data and transmit the data to the server 104. The system 100 may include more or fewer computing devices 102. Each computing device of the plurality of computing devices 102 and the server 104 may be located in the same or different rooms, the same or different facilities, or the same or different enterprise campuses. In one embodiment, the plurality of computing devices 102 may be operated by a first enterprise, and the server 104 may be operated by a second enterprise. In other words, the plurality of computing devices 102 may be operated in a first geographic location, and the server 104 may be operated in a second geographic location, the second geographic location being remote from the first geographic location. The database 108 may be included within the server 104 or may be separate from the server 108. In one
embodiment, the database 108 is a metadata registry. Other databases may be provided. The system 100 may include more databases 108 within the server 104 or separate from the server 104.
The database 108 includes a plurality of data records. Each data record of the plurality of data records may, for
example, represent a schema extracted from data received from a computing device of the plurality of computing devices 102. The data may be generated by one of the workers at the first computing device 102a, the second computing device 102b, or the third computing device 102c, for example, or may be received from another computing device outside of the network 106. The data may be in any number of forms including, for example, tabular data (e.g., in Microsoft Excel) .
In one embodiment, the plurality of computing devices 102 transmit data to the server 104 in a push or pull arrangement so that the server 104 may interconnect the data (e.g., associate the data) . In other words, the server 104 ingests data received from the plurality of computing devices 102.
For example, the server 104 receives first data from the first computing device 102a, second data from the second computing device 102b, and third data from the third
computing device 102c. The first computing device 102a, the second computing device 102b, and the third computing device may operate within different divisions of the same company (e.g., accounting, manufacturing, engineering) or may operate within two or more different companies (e.g., an original equipment manufacturer (OEM) and a customer using parts from the OEM) .
The server 104 extracts a first schema from the first data, a second schema from the second data, and a third schema from the third data, and the database 108 stores the first schema, the second schema, and the third schema as at least part of corresponding data records. The server 104 may extract the first schema, the second schema, and the third schema in any number of ways including, for example, via the WebTables schema extraction method. Other extraction methods may be used .
The first schema, the second schema, and the third schema may be represented in any number of ways including, for example, in a text database language or as graphical depictions and may include a set of formulas (e.g., sentences referred to as integrity constraints) imposed on a database. The server 104 may extract schema from more, less, and/or different data received from additional, fewer, and/or different computing devices 102. During the extraction of the first schema, the second schema, and the third schema from the first data, the second data, and the third data, respectively, by the server 104, the server 104 identifies custom datatypes that are unique for an industry or a specific company. For example, the server 104 extracts patterns from, for example, at least the first data, the second data, and the third data. In one embodiment, the first data includes a plurality of first data strings, the second data includes a plurality of second data strings, and the third data includes a plurality of third data strings.
The server 104 extracts patterns from the plurality of first data strings, the plurality of second data strings, and the plurality of third data strings.
For example, the server 104 identifies (e.g., extracts) a first pattern from a first data string of the plurality of first data strings and extracts a second pattern from a second data string of the plurality of second data strings. The first pattern and the second pattern may take any number of forms including, for example, regular expressions. The regular expressions of the first pattern and the second pattern, for example, may include a number of characters within the first data, a particular type of character, numbers of different types of characters, respectively, within the respective data string, an order of the characters within the respective data string, other and/or different forms, or any combination thereof. The different types of characters may include letters, numbers, and symbols. The server 104 may extract patterns from all or some of the first data strings, the second data strings, the third data
strings, and/or additional data ingested from any computing device of the plurality of computing device 102. In one embodiment, the database 108 or another memory in
communication with the server 104 stores the extracted patterns. For example, the database 108 may store the
extracted patterns as part of the corresponding data records. As an example, the first pattern extracted from the first data string may identify that the first data string includes nine characters, with the first four characters being letters and the last five characters being numbers. The first data may include, for example, a first set of tabular data (e.g., a first Microsoft Excel spreadsheet) with a number of columns and rows. The first set of tabular data may include
descriptions at the top of each column and/or the side of each row. The first data string is located within a
particular column and a particular row, and the server 104 extracts the first pattern when the server 104 ingests the first data.
The server 104 compares the first pattern to a plurality of stored patterns stored in the database or another memory in communication with the server 104. The plurality of stored patterns may be identified and stored during schema
extraction. For example, based on the comparison of the first pattern to the plurality of stored patterns, if the first pattern does not match any of the plurality of stored
patterns, the first pattern is added to the plurality of stored patterns. In other words, as patterns that have not been encountered over the course of data ingestion are encountered, such patterns are added to the plurality of stored patterns for future comparisons. In one embodiment, the server 104 randomly samples values of the ingested data to generate the plurality of stored patterns.
Based on the comparison of the first pattern to the plurality of stored patterns, if the first pattern matches a stored pattern of the plurality of stored patterns (e.g., including nine characters, with the first four characters being letters and the last five characters being numbers), the server 104 identifies a datatype associated with the matched stored pattern. The server 104 identifies datatypes associated with the plurality of stored patterns, and the database 108 or another memory stores the identified datatypes. The datatypes associated with the plurality of stored patterns may be defined by a user at any number of times. For example, the server 104 may send a query to, for example, the first computing device 102a for a datatype associated with the first data string when the first pattern does not match any of the plurality of stored patterns, and the server 104 may receive the datatype from a worker via the first computing device 102a and associate the received datatype with the first data string within the database 108. In one embodiment, the worker identifies datatypes within the first data (e.g., corresponding to data strings within the first data) before the server 104 ingests the first data and transmits the identified datatypes to the server 104. In one embodiment, the server 104 automatically determines the datatype
associated with, for example, the first data string. For example, the server 104 identifies data at a particular location within, for example, the first set of tabular data (e.g., a first cell of a column or a row of the first set of tabular data) or data within the first set of tabular data of a particular type (e.g., characters are all letters) as the datatype .
In one embodiment, the datatype (e.g., the user-defined datatype) is hierarchical in that a top most level of the datatype is a generic datatype, and the datatype is more specific the further down the level in the hierarchy. For example, if the first data string represents a part number, the hierarchical datatype associated with the first data string may include a top most generic datatype of
"manufacturing" and a lower level datatype of "part number." Other levels in the hierarchy of the data type may identify a product in which the part is used, a cost of the part, and/or other information describing the datatype. A hierarchical datatype more thoroughly describes data (e.g., the first data string) ingested by the server 104, which may improve
accuracy of responses by the server 104 to data search requests. Alternatively, metadata is assigned to the datatype and includes information at any level of detail. The server 104 associates the identified datatype with, for example, the first data string and/or the first pattern. The database 108 or another memory stores the association of the identified datatype with the first data string and/or the first pattern.
Based on the comparison of the second pattern to the
plurality of stored patterns, if the second pattern also matches the stored pattern matching the first pattern (e.g., including nine characters, with the first four characters being letters and the last five characters being numbers), the server 104 identifies the same datatype (e.g., part number) associated with the matched stored pattern and the first pattern and associates the same datatype with the second pattern and/or the second data string. If the second pattern does not match any stored patterns of the plurality of stored patterns, the second pattern is added to the plurality of stored patterns. If the second pattern matches another stored pattern of the plurality of stored patterns, the server 104 identifies the datatype associated with the other matched stored pattern and associates the datatype associated with the other matched stored pattern with the second pattern and/or the second data string. The server 104 repeats the comparison of an identified pattern with the plurality of stored patterns, the identification of a
datatype for matched patterns, and the association of the identified datatype with the identified pattern and/or corresponding data strings for other data (e.g., data
strings) ingested by the server 104.
The server 104 generates a semantic model based on at least the extracted first schema, the extracted second schema, and/or the extracted third schema. The semantic model may be generated based on more, fewer, and/or different extracted schema. Generating the semantic model includes mapping (e.g., linking) the matched patterns across extracted schema. For example, when the first pattern and the second pattern both match a stored pattern of the plurality of stored patterns and are assigned a datatype associated with the matched stored pattern, the server 104 links the first pattern with the second patterns and thus, the first data string with the second data string. In one embodiment, the server 104 automatically links the first pattern and the second
patterns, and thus the corresponding first data string and the second data string, when the first pattern and the second pattern match the same stored pattern of the plurality of stored patterns. The linking may be stored by the database 108 or another memory.
The generated semantic model allows linked data to be
returned in response to a query for data. For example, a user generates a search query via a user interface at the first computing device 102a or another computing device. The first computing device 102a, for example, transmits the generated search query to the server 104 via the network 106. Using the generated semantic model, the server 104 may identify the first data string, originating from the first computing device 102a, based on the associated datatype and the
generated search query. The server 104 may also identify the second data string based on the linking. The server 104 may identify additional, less, and/or different data based on data linking based on identified datatypes. The server 104 may return at least the identified first data string and the second data string in response to the search query. In other words, in response to a business query, the server 104 may identify and return data that spans across multiple disparate data sources.
FIG. 2 shows an illustrative embodiment of a general computer system 200. The computer system 200 may include a set of instructions that may be executed to cause the computer system 200 to perform any one or more of the methods or computer based functions disclosed herein. The computer system 200 may operate as a standalone device or may be connected (e.g., using the network 106) to other computer systems or peripheral devices. Any of the components discussed above (e.g., the first computing device 102a, the second computing device 102b, the third computing device 102c, and/or the server 104) may be a computer system 200 or a component in the computer system 200.
In a networked deployment, the computer system 200 may operate in the capacity of a server or as a client user computer in a client-server user network environment, or as a peer computer system in a peer-to-peer (or distributed) network environment. The computer system 200 may also be implemented as or incorporated into various devices, such as a personal computer (PC) , a tablet PC, a set-top box (STB) , a personal digital assistant (PDA) , a mobile device, a palmtop computer, a laptop computer, a desktop computer, a
communications device, a wireless telephone, a land-line telephone, a control system, a camera, a scanner, a facsimile machine, a printer, a pager, a personal trusted device, a web appliance, a network router, switch or bridge, or any other machine capable of executing a set of instructions
(sequential or otherwise) that specify actions to be taken by that machine. In one embodiment, the computer system 200 may be implemented using electronic devices that provide voice, video or data communication. Further, while a single computer system 200 is illustrated, the term "system" shall also be taken to include any collection of systems or sub-systems that individually or jointly execute a set, or multiple sets, of instructions to perform one or more computer functions.
As illustrated in Figure 2, the computer system 200 may include a processor 202, e.g., a central processing unit (CPU), a graphics processing unit (GPU), or both. The
processor 202 may be a component in a variety of systems. For example, the processor 202 may be part of a standard personal computer or a workstation. The processor 202 may be one or more general processors, digital signal processors,
application specific integrated circuits, field programmable gate arrays, servers, networks, digital circuits, analog circuits, combinations thereof, or other now known or later developed devices for analyzing and processing data. The processor 202 may implement a software program, such as code generated manually (i.e., programmed) .
The computer system 200 may include a memory 204 that may communicate via a bus 208. The memory 204 may be
representative of the database 108. The memory 204 may be a main memory, a static memory, or a dynamic memory. The memory 204 may include but is not limited to computer readable storage media such as various types of volatile and non volatile storage media, including but not limited to random access memory, read-only memory, programmable read-only memory, electrically programmable read-only memory,
electrically erasable read-only memory, flash memory,
magnetic tape or disk, optical media and the like. In one embodiment, the memory 204 includes a cache or random access memory for the processor 202. In alternative embodiments, the memory 204 is separate from the processor 202, such as a cache memory of a processor, the system memory, or other memory. The memory 204 may be an external storage device or database for storing data. Examples include a hard drive, compact disc ("CD") , digital video disc ("DVD") , memory card, memory stick, floppy disc, universal serial bus ("USB") memory device, or any other device operative to store data. The memory 204 is operable to store instructions executable by the processor 202. The functions, acts or tasks
illustrated in the figures or described herein may be
performed by the programmed processor 202 executing the instructions stored in the memory 204. The functions, acts or tasks are independent of the particular type of instructions set, storage media, processor or processing strategy and may be performed by software, hardware, integrated circuits, firm-ware, micro-code and the like, operating alone or in combination. Likewise, processing strategies may include multiprocessing, multitasking, parallel processing and the like . As shown, the computer system 200 may further include a display unit 214, such as a liquid crystal display (LCD), an organic light emitting diode (OLED) , a flat panel display, a solid state display, a cathode ray tube (CRT), a projector, a printer or other now known or later developed display device for outputting determined information. The display 214 may act as an interface for the user to see the functioning of the processor 202, or specifically as an interface with the software stored in the memory 204 or in a disk or optical drive unit 206 (e.g., a disk drive unit) .
Additionally, the computer system 200 may include an input device 216 configured to allow a user to interact with any of the components of system 200. The input device 216 may be a number pad, a keyboard, or a cursor control device, such as a mouse, or a joystick, touch screen display, remote control or any other device operative to interact with the system 200.
In one embodiment, as depicted in Figure 2, the computer system 200 may also include the disk or optical drive unit 206. The disk drive unit 206 may include a computerreadable medium 210, in which one or more sets of instructions 212 (e.g., software) may be embedded. Further, the instructions 212 may embody one or more of the methods or logic as
described herein. In one embodiment, the instructions 212 may reside completely, or at least partially, within the memory 204 and/or within the processor 202 during execution by the computer system 200. The memory 204 and the processor 202 also may include computer-readable media as discussed above.
The present disclosure contemplates a non-transitory
computer-readable medium that includes instructions 212 or receives and executes instructions 212 responsive to a propagated signal, so that a device connected to a network 220 may communicate voice, video, audio, images or any other data over the network 220. Further, the instructions 212 may be transmitted or received over the network 220 via a
communication port 218. The communication port 218 may be a part of the processor 202 or may be a separate component. The communication port 218 may be created in software or may be a physical connection in hardware. The communication port 218 is configured to connect with the network 220 or another network, external media, the display 214, any other
components in system 200, or combinations thereof. The connection with the network 220 may be a physical connection, such as a wired Ethernet connection or may be established wirelessly as discussed below. Likewise, the additional connections with other components of the system 200 may be physical connections or may be established wirelessly.
The network 220 may include wired networks, wireless
networks, or combinations thereof, and may be representative of the network 106. The wireless network may be a cellular telephone network, an 802.11, 802.16, 802.20, or WiMax network. Further, the network 220 may be a public network, such as the Internet, a private network, such as an intranet, or combinations thereof, and may utilize a variety of
networking protocols now available or later developed
including, but not limited to TCP/IP based networking
protocols .
While the computer-readable medium is shown to be a single medium, the term "computer-readable medium" includes a single medium or multiple media (e.g., a centralized or distributed database and/or associated caches and servers that store one or more sets of instructions) . The term "computer-readable medium" shall also include any medium that is capable of storing, encoding or carrying a set of instructions for execution by a processor or that cause a computer system to perform any one or more of the methods or operations
disclosed herein.
In a particular non-limiting, exemplary embodiment, the computer-readable medium may include a solid-state memory such as a memory card or other package that houses one or more non-volatile read-only memories. Further, the computer- readable medium may be a random access memory or other volatile re-writable memory. Additionally, the computer- readable medium may include a magneto-optical or optical medium, such as a disk or tapes or other storage device to capture carrier wave signals such as a signal communicated over a transmission medium. A digital file attachment to an email or other self-contained information archive or set of archives may be considered a distribution medium that is a tangible storage medium. Accordingly, the disclosure is considered to include any one or more of a computer-readable medium or a distribution medium and other equivalents and successor media, in which data or instructions may be stored.
In one embodiment, dedicated hardware implementations, such as application specific integrated circuits, programmable logic arrays and other hardware devices, may be constructed to implement one or more of the methods described herein. Applications that may include the apparatus and systems of various embodiments may broadly include a variety of
electronic and computer systems. One or more embodiments described herein may implement functions using two or more specific interconnected hardware modules or devices with related control and data signals that may be communicated between and through the modules, or as portions of an
application-specific integrated circuit. Accordingly, the present system encompasses software, firmware, and hardware implementations .
In accordance with various embodiments of the present
disclosure, the methods described herein may be implemented by software programs executable by a computer system.
Further, in an exemplary, non-limiting embodiment,
implementations may include distributed processing,
component/obj ect distributed processing, and parallel
processing. Alternatively, virtual computer system processing may be constructed to implement one or more of the methods or functionality as described herein. Although the present specification describes components and functions that may be implemented in particular embodiments with reference to particular standards and protocols, the invention is not limited to such standards and protocols. For example, standards for Internet and other packet switched network transmission (e.g., TCP/IP, UDP/IP, HTML, HTTP,
HTTPS) represent examples of the state of the art. Such standards are periodically superseded by faster or more efficient equivalents having essentially the same functions. Accordingly, replacement standards and protocols having the same or similar functions as those disclosed herein are considered equivalents thereof.
FIG. 3 shows a flowchart of one embodiment of a method 300 for answering requests for data from enterprise systems. The method 300 may be performed using the system 100 shown in FIG. 1 or another system. The method 300 is implemented in the order shown, but other orders may be used. Additional, different, or fewer acts may be provided. Similar methods may be used for presenting information relevant to user activity.
In act 302, a first processor identifies first data from a first source. The first processor may identify additional and/or different data from additional and/or different sources. For example, the first processor may identify second data from a second source.
The first processor may be a processor of a server in
communication with the first source and the second source via a network. The first source may be a first enterprise system, and the second source may be a second enterprise system. The first enterprise system may include one or more computing devices within a first division of a company (e.g., parts storage) , and the second enterprise system may include one or more computing devices within a second division of the company or another company (e.g., manufacturing) . Additional, fewer, and/or different enterprise systems may be in
communication with the first processor via the network. The first processor may ingest the first data from the first source, the second data from the second source, and/or other data from other sources in communication with the first processor. The first data may be data within a first tabular dataset (e.g., a first Microsoft Excel spreadsheet) and may represent a data string within a cell of the first tabular dataset. For example, the first data may be or include a first data string that represents a first part number. The second data may be data within a second tabular dataset
(e.g., a second Microsoft Excel spreadsheet) and may
represent a data string within a cell of the second tabular dataset. For example, the second data may be or include a second data string that represents a second part number.
The first processor may ingest and a memory may store data from multiple sources. This may be done in anticipation of future queries. Alternatively, this may be done in response to a particular query. The first processor may ingest the data from, for example, tabular datasets from multiple disparate sources. The ingested data may be in other, not tabular forms.
In act 304, the first processor identifies a first pattern within the first data. The first processor may identify additional and/or different patterns within additional and/or different data. For example, the first processor may also identify a second pattern within the second data. Identifying the first pattern and/or the second pattern within the first data and/or the second data, respectively, may include, for example: identifying a number of characters within the first data and/or the second data; identifying a particular type of character; identifying numbers of different types of
characters, respectively, within the first data and/or the second data, where the different types of characters include letters, numbers, and symbols; identifying an order of the characters within the first data and/or the second data;
identifying other patterns within the first data and/or the second data; or any combination thereof. For example, the first pattern and/or the second pattern may include nine characters, with the first five characters being numbers and the four following characters being letters
(e.g., 34589ABCD, 3695DCFR, 98756XZTY, 12034IJKU) . Such a pattern may be represented as "schema": " [ 0-9 ] { 5 } + [A-Z ] { 4 } +" . As another example, the first pattern and/or the second pattern may represent email addresses (e.g.,
namel @siemens . com, name2@siemens.com, name3@siemens.com) .
Such a pattern may be represented as "schema": " [a- z] + [\\ . ] [ a-z ] +@siemens . com" .
In act 306, the first processor compares the identified first pattern to a plurality of stored patterns stored in a memory. The memory is in communication with the first processor. The first processor may also compare additional and/or different patterns to the plurality of stored patterns. For example, the first processor may compare the identified second pattern to the plurality of stored patterns.
In act 308, the first processor determines whether the first pattern matches any stored patterns of the plurality of stored patterns stored in the memory. Determination of whether the first pattern matches any stored patterns of the plurality of patterns may include determination of whether at least a portion of the first pattern matches, in types of characters (e.g., first five characters include three
letters, then two numbers), at least a portion of a stored pattern of the plurality of patterns. In one embodiment, determination of whether the first pattern matches any stored patterns of the plurality of patterns may include
determination of whether a portion of the first pattern exactly matches a portion of a stored pattern of the
plurality of stored patterns. For example, a particular type of part number (e.g., for a particular wind turbine) may include "xyzl23" as the first six characters of the data string for a number of different parts, with characters after the first six characters identifying the particular part.
Such a determination may be based on not only the type of character and/or the locations of the types of characters within the data string, but may be also based on the
particular characters included within the data string.
If the first processor determines the first pattern matches a stored pattern of the plurality of stored patterns, the method 300 moves to act 310. If the first processor
determines the first pattern does not match any stored patterns of the plurality of stored patterns, the method 300 moves to act 314. The same determination applies to other patterns such as, for example, the second pattern.
In act 310, based on the comparison, if the identified first pattern matches a stored pattern of the plurality of
patterns, the first processor identifies a datatype
associated with the matched stored pattern of the plurality of stored patterns and associates the identified datatype with the first data and/or the first pattern. The identified datatype may be any number of different datatypes
representing, for example, a part number, a class code, a tooling code, or another datatype.
As another example, if the identified second pattern also matches the stored pattern matching the first pattern, the first processor identifies the datatype associated with the matched stored pattern and also associates the identified datatype with the second data and/or the second pattern. If the identified second pattern matches another stored pattern of the plurality of stored patterns, the first processor identifies another datatype associated with the other matched stored pattern (e.g., different than the stored pattern matching the first pattern) and associated the identified other datatype with the second data and/or the second
pattern .
In act 312, the first processor links the first data and/or the first pattern with other data and/or patterns identified by the first processor also matching the same stored pattern. For example, the first processor links the first data and/or the first pattern with the second data and/or the second pattern when the first pattern and the second pattern both match the same stored pattern of the plurality of stored patterns stored in the memory. The link may be stored, for example, in a database in communication with the first processor. In one embodiment, the linking is stored as part of a semantic model. The linking may be stored in any number of formats including, for example, text database language or as a graphical depiction.
In act 314, based on the comparison of the identified first pattern with the plurality of stored patterns, if the
identified first pattern does not match any stored pattern of the plurality of stored patterns, the first processor adds the identified first pattern to the plurality of stored patterns stored in the memory. As another example, if the identified second pattern does not match any stored pattern of the plurality of stored patterns, the first processor adds the identified second pattern to the plurality of stored patterns stored in the memory.
The first processor may also identify and store a datatype associated with the first pattern and/or the second pattern when the identified first pattern and/or the identified second pattern does not match any stored pattern of the plurality of stored patterns. For example, the first
processor may receive the associated datatype from a user via a user interface in communication with the first processor.
In one embodiment, the first processor automatically
identifies the datatype associated with the first pattern, for example, when the identified first pattern does not match any stored pattern of the plurality of stored patterns based on analysis of other data stored with the first pattern
(e.g., automatically identifies a data string at the top of a column within a tabular dataset including the first data as the datatype and automatically associates the identified data string with the first pattern as the datatype for the first pattern) .
In one embodiment, the identified datatype is a hierarchical datatype. The hierarchical datatype may, for example, include a top-most generic datatype and one or more lower level datatypes more specific than the top-most generic datatype.
In act 316, the first processor receives a request for data from a second processor remote from the first processor. The second processor may be part of a workstation within an enterprise system in communication with the first processor. Alternatively, the request is from the first processor. The request may be in natural language (e.g., provide data for parts within a project for a wind turbine that cost less than $500) .
In act 318, the first processor identifies the first data based on the request and the identified datatype (e.g., hierarchical datatype) associated with the first data. The first processor may identify the first data using the
generated semantic model. In one embodiment, the first processor also identifies the second data based on the stored linking of the first data with the second data within the generated semantic model.
In act 320, the first processor transmits a response to the request to the second processor based on the identified first data and the identified second data. The first processor may transmit raw data identified in response to the request.
Alternatively, the first processor may further process the identified data (e.g., the first data and the second data) and generate a response to the request based on the
identified data.
The illustrations of the embodiments described herein are intended to provide a general understanding of the structure of the various embodiments. The illustrations are not intended to serve as a complete description of all of the elements and features of apparatus and systems that utilize the structures or methods described herein. Many other embodiments may be apparent to those of skill in the art upon reviewing the disclosure. Other embodiments may be utilized and derived from the disclosure, such that structural and logical substitutions and changes may be made without
departing from the scope of the disclosure. Additionally, the illustrations are merely representational and may not be drawn to scale. Certain proportions within the illustrations may be exaggerated, while other proportions may be minimized. Accordingly, the disclosure and the figures are to be
regarded as illustrative rather than restrictive.
One or more embodiments of the disclosure may be referred to herein, individually and/or collectively, by the term
"invention" merely for convenience and without intending to voluntarily limit the scope of this application to any particular invention or inventive concept. Moreover, although specific embodiments have been illustrated and described herein, it should be appreciated that any subsequent
arrangement designed to achieve the same or similar purpose may be substituted for the specific embodiments shown. This disclosure is intended to cover any and all subsequent adaptations or variations of various embodiments.
Combinations of the above embodiments, and other embodiments not specifically described herein, will be apparent to those of skill in the art upon reviewing the description.
The Abstract of the Disclosure is provided to comply with 37 C.F.R. §1.72 (b) and is submitted with the understanding that it will not be used to interpret or limit the scope or meaning of the claims. In addition, in the foregoing Detailed Description, various features may be grouped together or described in a single embodiment for the purpose of
streamlining the disclosure. This disclosure is not to be interpreted as reflecting an intention that the claimed embodiments require more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive subject matter may be directed to less than all of the features of any of the disclosed embodiments. Thus, the following claims are incorporated into the Detailed
Description, with each claim standing on its own as defining separately claimed subject matter.
It is therefore intended that the foregoing detailed
description be regarded as illustrative rather than limiting, and that it be understood that it is the following claims, including all equivalents, that are intended to define the spirit and scope of this invention.

Claims

Patent claims
1. A method for answering requests from enterprise systems, the method comprising:
identifying, by a processor, data from a source;
identifying, by the processor, a pattern within the data; comparing, by the processor, the identified pattern to a plurality of stored patterns stored in a memory, the memory being in communication with the processor;
based on the comparison, when the identified pattern matches a stored pattern of the plurality of stored patterns, identifying, by the processor, a datatype associated with the matched stored pattern of the plurality of stored patterns and associating the identified datatype with the data from the source;
receiving, by the processor, a request for data from a second processor remote from the first processor;
identifying the data from the source based on the request and the identified datatype associated with the data from the source; and
transmitting a response to the request to the second
processor based on the identified data from the source.
2. The method of claim 1, wherein the data is first data, the source is a first source, the pattern is a first pattern, and the datatype is a first datatype,
wherein the method further comprises:
identifying, by the processor, second data from a second source ;
identifying, by the processor, a second pattern within the second data;
comparing, by the processor, the identified second pattern to the plurality of stored patterns; and
based on the comparison of the identified second pattern to the plurality of stored patterns, when the identified second pattern also matches the matched stored pattern of the plurality of stored patterns, associating the first datatype with the second data from the second source.
3. The method of claim 2, further comprising:
based on the comparison of the identified first pattern to the plurality of stored patterns, when the identified first pattern does not match any stored patterns of the plurality of stored patterns, adding the identified first pattern to the plurality of stored patterns stored in the memory;
based on the comparison of the identified second pattern to the plurality of stored patterns, when the identified pattern does not match any stored patterns of the plurality of stored patterns, adding the second pattern to the plurality of stored patterns stored in the memory; and
based on the comparison, when the identified second pattern matches another pattern of the plurality of stored patterns, identifying, by the processor, a second datatype associated with the other matched pattern of the plurality of stored patterns and
associating the identified second datatype with the
identified second data from the second source.
4. The method of claim 2, wherein the identified first pattern and the identified second pattern both match the stored pattern of the plurality of stored patterns, and wherein the method further comprises linking, by the
processor, the first data and the second data.
5. The method of claim 4, further comprising generating a semantic model, the semantic model including a representation of the linking of the first data and the second data.
6. The method of claim 1, wherein the identified datatype is a part number, a class code, or a tooling code.
7. The method of claim 1, wherein identifying the pattern within the data comprises identifying a number of characters within the data, identifying a particular type of character, identifying numbers of different types of characters, respectively, within the data, the different types of characters including letters, numbers, and symbols, identifying an order of the characters within the data, or any combination thereof.
8. The method of claim 1, further comprising:
receiving, by the processor, the datatype from a user;
associating, by the processor, the datatype with the pattern of the plurality of patterns stored in the memory; and storing, by the memory, the datatype.
9. The method of claim 8, wherein receiving the datatype comprises receiving a hierarchical datatype, the hierarchical datatype including a generic datatype and one or more
datatypes more specific than the generic datatype.
10. A system for associating data from different sources, the system comprising:
a database; and
a processor in communication with the database, the processor being configured to:
receive first data from a first enterprise system;
receive second data from a second enterprise system;
extract a first schema from the first data, wherein the database is configured to store the first schema, the
extraction of the first schema comprising identification of a first pattern within the first data;
extract a second schema from the second data, wherein the database is configured to store the second schema, the extraction of the second schema comprising identification of a second pattern within the second data;
compare the identified first pattern and the identified second pattern to a plurality of patterns stored in the database or a memory separate from the database; and
based on the comparison, when the identified first pattern and the identified second pattern both match a pattern of the plurality of stored patterns, identify a datatype associated with the matched pattern, and associate the datatype with the first pattern and the second pattern in the database.
11. The system of claim 10, wherein the database is a
metadata registry.
12. The system of claim 10, wherein the processor is further configured to generate a semantic model based on the
extracted first schema and the extracted second schema, the generation of the semantic model comprising mapping the first pattern and the second pattern across the first schema and the second schema, respectively, when the identified first pattern and the identified second pattern both match the pattern of the plurality of stored patterns.
13. The system of claim 12, wherein the processor is a first processor,
wherein the first processor is further configured to:
receive a request for data from a second processor remote from the first processor;
identify the first data and the second data based on the request and the generated semantic model; and
transmit a response to the request based on the identified first data and the identified second data.
14. The system of claim 10, wherein identification of the first pattern within the first data comprises identification of a number of characters within the first data,
identification of a particular type of character,
identification of numbers of different types of characters, respectively, within the first data, the different types of characters including letters, numbers, and symbols,
identification of an order of the characters within the first data, or any combination thereof, and
wherein identification of the second pattern within the second data comprises identification of a number of
characters within the second data, identification of a particular type of character, identification of numbers of the different types of characters, respectively, within the second data, identification of an order of the characters within the second data, or any combination thereof.
15. The system of claim 10, wherein the processor is further configured to:
receive the datatype from a user; and
associate the datatype with the pattern of the plurality of patterns, and
wherein the database is configured to store the associated datatype .
16. A method for linking data for parts from different sources, the method comprising:
receiving, by a processor, first data from a first enterprise system, the first data including a first data string;
identifying, by the processor, a pattern within the first data string;
receiving, by the processor, second data from a second enterprise system remote from the first enterprise system, the second data including a second data string;
identifying, by the processor, the pattern within the second data string;
comparing, by the processor, the identified pattern to a plurality of patterns stored in a memory, each pattern of the plurality of patterns having a datatype associated with the respective pattern;
identifying, by the processor, a matched pattern of the plurality of patterns stored in the memory, the matched pattern matching the pattern identified within the first data string and the second data string, the associated datatype for the matched pattern being a part number;
identifying, by the processor, the first data string and the second data string as a first part number and a second part number, respectively, based on the identifying of the matched pattern; and
linking, by a database in communication with the processor, the first part number with the second part number.
17. The method of claim 16, further comprising generating a semantic model based on the linking of the first part number with the second part number.
18. The method of claim 16, further comprising:
receiving, by the processor, a request for data from a user; and
identifying, by the processor, the first part number and the second part number based on the received request and the linking of the first part number and the second part number.
19. The method of claim 16, wherein identifying the pattern within the first data string comprises identifying a number of characters within the first data, identifying a particular type of character, identifying numbers of different types of characters, respectively, within the first data, the
different types of characters including letters, numbers, and symbols, identifying an order of the characters within the first data, or any combination thereof, and
wherein identifying the pattern within the second data string comprises identifying a number of characters within the second data, identifying a particular type of character, identifying numbers of the different types of characters, respectively, within the second data, identifying an order of the characters within the second data, or any combination thereof .
20. The method of claim 16, further comprising receiving, by the processor, user-defined data identifying the associated datatypes .
PCT/EP2020/054028 2019-03-21 2020-02-17 Answering requests from enterprise systems background WO2020187512A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201962821630P 2019-03-21 2019-03-21
US62/821,630 2019-03-21

Publications (1)

Publication Number Publication Date
WO2020187512A1 true WO2020187512A1 (en) 2020-09-24

Family

ID=69699838

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2020/054028 WO2020187512A1 (en) 2019-03-21 2020-02-17 Answering requests from enterprise systems background

Country Status (1)

Country Link
WO (1) WO2020187512A1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040230618A1 (en) * 2003-05-12 2004-11-18 Wookey Michael J. Business intelligence using intellectual capital

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040230618A1 (en) * 2003-05-12 2004-11-18 Wookey Michael J. Business intelligence using intellectual capital

Similar Documents

Publication Publication Date Title
CN108628661B (en) Automatic establishment method of cloud manufacturing service and cloud manufacturing system
US10282197B2 (en) Open application lifecycle management framework
US8190555B2 (en) Method and system for collecting and distributing user-created content within a data-warehouse-based computational system
US9396283B2 (en) System for accessing a relational database using semantic queries
US8719252B2 (en) Accessing relational databases as resource description framework databases
US7917463B2 (en) System and method for data warehousing and analytics on a distributed file system
US9762589B2 (en) Methods and systems for generating a dynamic workflow in a multi-tenant database environment
US20170090893A1 (en) Interoperability of Transforms Under a Unified Platform and Extensible Transformation Library of Those Interoperable Transforms
US11055352B1 (en) Engine independent query plan optimization
US20170351989A1 (en) Providing supply chain information extracted from an order management system
US20060230025A1 (en) Enterprise software system having multidimensional XBRL engine
US20100293163A1 (en) Operational-related data computation engine
CA2710405C (en) Data comparison system
US7840603B2 (en) Method and apparatus for database change management
US20220382791A1 (en) Executing services across multiple trusted domains for data analysis
Herbold et al. Combining usage-based and model-based testing for service-oriented architectures in the industrial practice
US11294901B1 (en) Isolating the performance of functions included in queries
WO2020187512A1 (en) Answering requests from enterprise systems background
JP7381290B2 (en) Computer system and data management method
US11138174B2 (en) Electronic database and method for forming same
US11467752B2 (en) Data migration system and data migration method
Hoang et al. Implement the data conversion system by using α-lightweight coreset for validation process
CN112732704B (en) Data processing method, device and storage medium
US11928125B2 (en) Cleaning and organizing schemaless semi-structured data for extract, transform, and load processing
Krishna et al. A Unified and Scalable Data Migration Service for the Cloud Environments.

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20706997

Country of ref document: EP

Kind code of ref document: A1

DPE1 Request for preliminary examination filed after expiration of 19th month from priority date (pct application filed from 20040101)
NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20706997

Country of ref document: EP

Kind code of ref document: A1