US20100037161A1 - System and method of applying globally unique identifiers to relate distributed data sources - Google Patents

System and method of applying globally unique identifiers to relate distributed data sources Download PDF

Info

Publication number
US20100037161A1
US20100037161A1 US12/189,311 US18931108A US2010037161A1 US 20100037161 A1 US20100037161 A1 US 20100037161A1 US 18931108 A US18931108 A US 18931108A US 2010037161 A1 US2010037161 A1 US 2010037161A1
Authority
US
United States
Prior art keywords
data
globally unique
unique identifier
text string
meta
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
US12/189,311
Other versions
US9727628B2 (en
Inventor
Tyron Jerrod Stading
Ryan Rozich
Roji John
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Innography Inc
Original Assignee
Innography Inc
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
Assigned to INNOGRAPHY, INC. reassignment INNOGRAPHY, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: JOHN, ROJI, ROZICH, RYAN, STADING, TYRON J.
Priority to US12/189,311 priority Critical patent/US9727628B2/en
Application filed by Innography Inc filed Critical Innography Inc
Publication of US20100037161A1 publication Critical patent/US20100037161A1/en
Assigned to COMERICA BANK reassignment COMERICA BANK SECURITY AGREEMENT Assignors: INNOGRAPHY, INC.
Assigned to INNOGRAPHY, INC. reassignment INNOGRAPHY, INC. RELEASE BY SECURED PARTY (SEE DOCUMENT FOR DETAILS). Assignors: COMERICA BANK
Assigned to INNOGRAPHY, INC. reassignment INNOGRAPHY, INC. CORRECTIVE ASSIGNMENT TO CORRECT THE PATENT NUMBER 8853592 TO 8583592 PREVIOUSLY RECORDED ON REEL 037208 FRAME 0052. ASSIGNOR(S) HEREBY CONFIRMS THE PATENT NUMBER 8583592 FOR SYSTEM AND METHODS OF SEARCHING DATA SOURCES WAS INADVERTNELTY TRANSPOSED. Assignors: COMERICA BANK
Assigned to JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT reassignment JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT PATENT SECURITY AGREEMENT SUPPLEMENT (FIRST LIEN) Assignors: INNOGRAPHY, INC.
Assigned to WILMINGTON TRUST, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT reassignment WILMINGTON TRUST, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT PATENT SECURITY AGREEMENT SUPPLEMENT (SECOND LIEN) Assignors: INNOGRAPHY, INC.
Assigned to INNOGRAPHY, INC. reassignment INNOGRAPHY, INC. RELEASE BY SECURED PARTY (SEE DOCUMENT FOR DETAILS). Assignors: WILMINGTON TRUST, NATIONAL ASSOCIATION
Priority to US15/670,635 priority patent/US20180060410A1/en
Publication of US9727628B2 publication Critical patent/US9727628B2/en
Application granted granted Critical
Assigned to INNOGRAPHY, INC. reassignment INNOGRAPHY, INC. RELEASE AND REASSIGNMENT OF SECURITY INTEREST IN PATENT RIGHTS RECORDED AT REEL 037605, FRAME 0557 Assignors: JPMORGAN CHASE BANK, N.A.
Assigned to JEFFERIES FINANCE LLC, AS COLLATERAL AGENT reassignment JEFFERIES FINANCE LLC, AS COLLATERAL AGENT PATENT SECURITY AGREEMENT Assignors: INNOGRAPHY, INC.
Assigned to INNOGRAPHY, INC. reassignment INNOGRAPHY, INC. RELEASE BY SECURED PARTY (SEE DOCUMENT FOR DETAILS). Assignors: JEFFERIES FINANCE LLC
Assigned to BANK OF AMERICA, N.A. AS COLLATERAL AGENT reassignment BANK OF AMERICA, N.A. AS COLLATERAL AGENT SECURITY INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: CPA GLOBAL (FIP) LLC, INNOGRAPHY, INC.
Assigned to WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT reassignment WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT SECURITY INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: CPA GLOBAL (FIP) LLC, INNOGRAPHY, INC.
Assigned to WILMINGTON TRUST, NATIONAL ASSOCATION reassignment WILMINGTON TRUST, NATIONAL ASSOCATION SECURITY INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: CAMELOT UK BIDCO LIMITED, CPA GLOBAL (FIP) LLC, CPA GLOBAL PATENT RESEARCH LLC, DECISION RESOURCES, INC., DR/DECISION RESOURCES, LLC, INNOGRAPHY, INC.
Active legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/283Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2452Query translation
    • G06F16/24522Translation of natural language queries to structured queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems

Definitions

  • the present disclosure is generally related to a system and method of applying globally unique identifiers to relate distributed data sources.
  • search engines such as those provided by Yahoo, Google, and others, utilize data collection technologies, such as spiders, bots, and web crawlers, which are software applications that access web pages and trace hypertext links in order to generate an index of web page information.
  • data collection technologies such as spiders, bots, and web crawlers, which are software applications that access web pages and trace hypertext links in order to generate an index of web page information.
  • the data collected by such software applications is typically stored as pre-processed data on which search engines may operate to perform searches and to retrieve information.
  • OLAP on-line analytical processing
  • an OLAP interface is customized for each data source.
  • custom interfaces do not readily leverage existing, distributed data sources without significant coding.
  • an OLAP interface is designed to access multiple data sources, either the multiple data sources are pre-processed to index the data to a searchable index or the multiple data sources are commonly controlled such that the data structures are uniform.
  • a large amount of data for example, unstructured data and semi-structured data that is stored on the Internet, may include useful information that cannot readily be correlated to data from other sources.
  • multiple data sources may include data related by a common attribute.
  • data may not be readily correlated due to differences in data structures, in attribute labels, in data formats, in the data entered, or any combination thereof.
  • a company name may be tagged or labeled using the term “company,” while another data source may label the data using other terms, such as “business name,” “co.,” “corporation,” other labels, or any combination thereof.
  • two data sources may have common labels, such as “company,” the data is entered in a first data source may be entered differently from the second data source, making it difficult to correlate the data without manual intervention.
  • a method includes sending a text string from a source device to a destination device.
  • the destination device includes a unique identifier repository having a plurality of globally unique identifiers mapped text strings, relationship data defining associations between the plurality of globally unique identifiers, and meta-data related to the text string.
  • Each of the plurality of globally unique identifiers includes a data value that is shared by a plurality of data sources as an identifier associated with information related to the text string.
  • the method further includes receiving data including one or more globally unique identifiers, associated relationship data, and associated meta-data from the destination device at the source device in response to sending the text string. Additionally, the method includes storing the received data at a memory of the source device for use in searching and relating search results received from multiple data sources.
  • a system in another particular embodiment, includes an interface responsive to a network and a unique identifier repository adapted to store mappings between text strings and globally unique identifiers, to store relationship data defining associations between globally unique identifiers, and to store meta-data associated with the text strings.
  • Each globally unique identifier includes a single value that is used as an index by a plurality of data sources to identify particular information.
  • the system further includes processing logic having access to the unique identifier repository.
  • the processing logic is adapted to receive a text string from a source device via the network, to identify at least one globally unique identifier related to the text string at the unique identifier repository, and to send the at least one globally unique identifier, associated relationship data, and associated meta-data to the source device via the network, where the globally unique identifier and associated relationship data are for storage at the source device.
  • a system in still another particular embodiment, includes a unique identifier repository adapted to store mappings between data strings and globally unique identifiers, to store relationship data representing associations between globally unique identifiers, and to store associated meta-data.
  • Each of the plurality of globally unique identifiers includes a data value that is shared by a plurality of data sources as an identifier associated with information related to the text string.
  • the system further includes processing logic having access to the unique identifier repository and memory accessible to the processing logic.
  • the memory includes instructions that are executable by the processing logic to receive a text string from a source device, to infer an association between the text string and a globally unique identifier from the unique identifier repository, and to send the globally unique identifier, associated relationship data, and associated meta-data to the source device for storage at a memory associated with the source device.
  • FIG. 1 is a block diagram of a particular illustrative embodiment of a system to map a text string to a globally unique identifier
  • FIG. 2 is a block diagram of a particular illustrative embodiment of a system to relate distributed data sources using globally unique identifiers
  • FIG. 3 is a block diagram of a particular illustrative embodiment of a data source that is updated to include a globally unique identifier for existing data;
  • FIG. 4 is a block diagram of a second particular illustrative embodiment of a data source that is updated to include globally unique identifiers for multiple fields within existing data, which may be stored in one or more data sources;
  • FIG. 5 is a representative diagram of a particular illustrative example of an extensible markup language (XML) text portion including particular fields and data before and after updating with globally unique identifiers and associated metadata;
  • XML extensible markup language
  • FIG. 6 is a diagram of a particular illustrative example of a document including text data before and after updating with meta-data using globally unique identifiers;
  • FIG. 7 is a block diagram of a second particular illustrative embodiment of a system to relate distributed data sources globally unique identifiers
  • FIG. 8 is a block diagram of a third particular illustrative embodiment of a system to relate distributed data sources using distributed correlations
  • FIG. 9 is a block diagram of a fourth particular illustrative embodiment of a system to relate distributed data sources using distributed correlations
  • FIG. 10 is a flow diagram of a particular illustrative embodiment of a method of distributing globally unique identifiers for searching multiple data sources and for correlating search results;
  • FIG. 11 is a flow diagram of a particular illustrative embodiment of a method of generating a globally unique identifier related to a received text string
  • FIG. 12 is a flow diagram of a particular illustrative embodiment of a method of registering a globally unique identifier received from a source
  • FIG. 13 is a flow diagram of a particular illustrative embodiment of a method of providing a user interface to a destination device based on search results retrieved from federated data sources and correlated using a globally unique identifier;
  • FIG. 14 is a flow diagram of a particular illustrative embodiment of a method of determining a globally unique identifier from a unique identifier repository based on a text string or a data set;
  • FIG. 15 is a diagram of a particular illustrative embodiment of a graphical user interface including a plurality of user selectable indicators accessible to a user to access a correlated set of search results from distributed data sources;
  • FIG. 16 is a diagram of a particular illustrative embodiment of a graphical user interface including a plurality of user selectable indicators accessible to a user to modify mappings between text strings and globally unique identifiers stored in the unique identifier repository.
  • a system and method of creating, retrieving and using a globally unique identifier is disclosed.
  • a central clearinghouse hosts a data repository of globally unique identifiers and that is adapted to receive a text string and to identify and provide a globally unique identifier related to the text string to a destination device.
  • the globally unique identifier can be distributed to a plurality of systems for use in retrieving search results and in correlating the search results to provide multi-dimensional results.
  • the central clearinghouse is adapted to store relationship data defining associations between globally unique identifiers as well as meta-data related to the globally unique identifiers. Such relationship data and meta-data can also be provided to the destination device.
  • a method for sending a text string related to data stored at a source device to a centralized correlation system, which is adapted to determine a globally unique identifier related to the text string from a unique identifier repository.
  • the globally unique identifier and associated relationship data and meta-data are sent to the source device, which receives and stores the globally unique identifier and its associated information at a memory related to the source.
  • the memory can be included in a source device or may be accessible to the source device via a network.
  • FIG. 1 is a block diagram of a particular illustrative embodiment of a system 100 to map a text string to a globally unique identifier.
  • the system 100 includes mapping logic 102 that is coupled to a unique identifier repository 104 .
  • the unique identifier repository 104 includes multiple globally unique identifiers where each globally unique identifier uniquely represents particular information.
  • each globally unique identifier is mapped to a unique piece of information, such as a name of a person, a place, a business, a commercial product, a content source (such as a text file, document, database record, or any combination thereof), another piece of information, or any combination thereof.
  • the globally unique identifier can be related to a proper noun, and each globally unique identifier can have a variety of associations or relationships to other globally unique identifiers. In general, each globally unique identifier can have associated relationship data and associated meta-data.
  • the mapping logic 102 is adapted to receive a text string 106 .
  • the mapping logic 102 may also optionally receive logical variations of the text string 108 and synonyms or terms related to the text string 110 .
  • heuristics may be applied to the text string 106 to identify variations that reflect common misspellings, common or possible abbreviations, and possible variants related to the text string 106 .
  • the mapping logic 102 is adapted to identify a globally unique identifier from the unique identifier repository 104 that is related to at least one of the text string 106 , the logical variations of the text string 108 , and the synonyms or terms related to the text string 110 .
  • the mapping logic 102 may be adapted to apply statistical analysis to identify a likely globally unique identifier from a plurality of globally unique identifiers based on a context and/or other factors to select a particular globally unique identifier.
  • the mapping logic 102 is adapted to provide the selected globally unique identifier that is associated with the text string to an output 112 .
  • mapping logic 102 is adapted to provide the selected globally unique identifier, associated relationship data, and associated meta-data to the output 112 and/or to send the selected globally unique identifier, the associated relationship data, and the associated meta-data to a destination device.
  • mapping logic 102 and the unique identifier repository 104 may be hosted by a central correlation system, which acts as a repository and clearinghouse (registration source) for globally unique identifiers that can be used to search multiple federated data sources and to relate (correlate or join) search results.
  • New information items can be registered with a globally unique identifier or can be provided to the mapping logic 102 to identify an existing identifier or to create a new globally unique identifier.
  • the globally unique identifier at the output 112 can be sent to a remote device for storage and subsequent use.
  • the mapping logic 102 is adapted to ensure that each unique identifier is globally unique, at least within an available content space, so that the globally unique identifier can be relied upon to retrieve relevant information and to associate and join information from different data sources along at least one dimension.
  • the globally unique identifier can serve as an edge of a data cube including information from multiple data sources and in various data structures, allowing a search system or other device to provide useful information and to organize the information in ways that may allow for visualizations and other data representations that might not otherwise be possible.
  • the mapping logic 102 and the unique identifier repository 104 are managed by a clearinghouse, the mapping logic 102 can guarantee uniqueness of the identifier within the known data space. Further, by using an identifier that includes 128-bits or more, the globally unique identifier is statistically likely to be unique relative to existing serial numbers or identifiers generated independently from the mapping logic 102 .
  • FIG. 2 is a block diagram of a particular illustrative embodiment of a system 200 to relate distributed data sources using globally unique identifiers.
  • the system 200 includes a centralized correlation system 202 that is adapted to communicate with multiple data sources 204 , 206 , 208 and 210 via a network 212 .
  • the network 212 may be a local area network, a wireless network (local or wide area), a wide area network, such as the Internet, or any combination thereof.
  • the data sources 204 , 206 , 208 , and 210 can be server systems, individual computers, stand-alone databases, or any combination thereof.
  • the data sources 204 , 206 , 208 , and 210 can store structured data, semi-structured data (such as tagged data), unstructured (text) data, or any combination thereof.
  • the centralized correlation system 202 includes an interface 214 that couples the centralized correlation system 202 to the network 212 .
  • the centralized correlation system 202 further includes processing logic 216 and memory 218 accessible to the processing logic 216 .
  • the centralized correlation system 202 can be distributed across multiple computing systems and the memory 218 and the processing logic 216 can be distributed.
  • the memory 218 includes a plurality of instructions that are executable by the processing logic 216 to identify and provide a globally unique identifier for use by other systems.
  • the memory 218 includes category identification logic 220 that is executable by the processing logic 216 to determine a category of information related to a particular text string.
  • the memory 218 further includes an analysis module 222 that is executable by the processing logic 216 to apply heuristics to a received text string identify possible typographical errors and to reduce or limit the search.
  • the analysis module 222 may be adapted to identify likely variants of a text string based on a context from which the text string is received.
  • the analysis module 222 may infer a likely spelling based on a particular technology area. In a particular example, the analysis module 222 may also be adapted to expand a text string to include synonyms.
  • the memory 218 further includes a unique identifier (ID) generator 224 , which may be adapted to generate a statistically unique ID value, such as multiple digit number, a 128-bit or 256-bit hexadecimal value, another identifier that includes text and numbers, or any combination thereof, which may be associated with the text string to provide a globally unique identifier.
  • ID unique identifier
  • the memory 218 also includes correlation (mapping) logic 226 that is adapted receive a text string and optionally one or more synonyms and one or more variations of the text string.
  • the correlation logic 226 is adapted to identify a globally unique identifier associated with the received data.
  • the correlation logic 226 is adapted to reduce one or more terms/synonyms/logical variations to a single globally unique identifier from one or more correlated records 230 .
  • the one or more correlated records 230 can include a record 232 associated with IBM® that is associated with a globally unique identifier (e.g., globally unique identifier is 123 ).
  • the globally unique identifiers are illustrated as simple integer values, the numbers can be floating point numbers, hexadecimal numbers, or other types of numbers. Further, while the number is shown as a three-digit number, it should be understood that any number of digits may be used.
  • the correlated records 230 may store multiple globally unique identifiers that a particular globally unique identifier may have associated relationship data and meta-data that relate the particular globally unique identifier to other globally unique identifiers and to other related information.
  • the memory 218 includes a centralized correlation output generator 228 , which may be used to generate an output in a form that can be used by a requesting device.
  • a centralized correlation output generator 228 may be used to generate an output in a form that can be used by a requesting device.
  • the centralized correlation output generator 228 may be adapted to provide the globally unique identifier to the requesting device in an XML format.
  • the data sources 204 , 206 , 208 , and 210 include the same information entered in different ways.
  • the company name “IBM” is represented in four different ways.
  • the individual's name “Tyron Stading” is represented in four different ways.
  • data can be made difficult to retrieve and correlate because the data is entered differently at each data source.
  • the data source 206 sends a text string “Int. Bus. Machines” to the centralized correlation system 202 via the network 212 .
  • the analysis module 222 can be used by the processing logic 216 to expand the text string to include multiple possible variations.
  • the correlation logic 226 is adapted to identify the record 232 in the correlated records 230 and to determine that the received text string is correlated to the globally unique identifier 123 .
  • the centralized correlation output generator 228 provides the globally unique identifier 123 to the data source 206 for inclusion and association with its existing records. Additionally, the centralized correlation output generator 228 can provide relationship data representing associations between the globally unique identifier 123 and other identifiers to the data source 206 . Further, the centralized correlation output generator 228 can provide meta-data associated with the globally unique identifier and/or with the relationship data.
  • each of the data sources may be searched using the GUID to retrieve desired information.
  • the GUID can be used to join data received from multiple data sources.
  • the search results from the multiple data sources 204 , 206 , 208 , and 210 can be organized into a data cube with the GUID serving as an edge of the cube.
  • the GUID can be used to join information from multiple data sources, so that the search results can be mined in multiple dimensions.
  • the search results can be enriched with the meta-data to provide multiple dimension of information.
  • FIG. 3 is a block diagram of a representative embodiment of a data source 300 that is updated to include a globally unique identifier for existing records.
  • a data source 300 such as the data source 204 illustrated in FIG. 2 , includes a plurality of data records 204 A, which include an index number 302 , a company name 304 , and other information 306 .
  • the index number 302 may represent a serial number or record number that is unique to the particular data source and which can be used to retrieve individual records.
  • a host associated with the data source 204 may submit a text string, such as the company name 304 , to a centralized correlation server.
  • the centralized correlation server returns a globally unique identifier related to the text string.
  • the globally unique identifier can be stored in the updated plurality of records 204 B as a globally unique identifier 310 .
  • the data source is updated with the globally unique identifier 310 , its data can be readily joined and correlated with data from other sources using the globally unique identifier 310 .
  • the plurality of records 204 B represent only one way of modifying the source information with the received globally unique identifier. Further, if associated relationship data and associated meta-data are received at the data source 300 , such relationship data and associated meta-data are not reflected in the updated plurality of records 204 B. In this particular instance, such relationship data and associated meta-data may be stored elsewhere or may be disregarded at the data source 300 .
  • FIG. 4 is a block diagram of a second particular illustrative embodiment of a data source 400 that is updated to include globally unique identifiers for multiple fields within existing data, which may be stored in one or more data sources.
  • the data source 400 includes general corporation information 402 including a company identifier that relates to a globally unique identifier.
  • the data source 400 further includes product information 404 that relates to a product identifier that is a globally unique identifier.
  • the data source includes employee data 408 that includes salary information for particular employees that is related to a globally unique identifier.
  • the data source 400 may also include a table 406 that has a globally unique identifier related to each field. In this instance, each record has a row identifier.
  • the row identifier includes a product name with an associated globally unique identifier (product identifier), a company name with an associated globally unique identifier (company identifier), and a person's name with an associated globally unique identifier (person identifier).
  • product identifier a product name with an associated globally unique identifier
  • company identifier company name with an associated globally unique identifier
  • person identifier a person's name with an associated globally unique identifier
  • the table 406 can include other information, which can be readily associated with corresponding globally unique identifiers located in other data stores at the data source 400 or at a remote data source.
  • the globally unique identifiers in the table 406 can be exploited to assemble distributed information from various sources to join related information.
  • the table 406 defines an association between the various globally unique identifiers that allows meta-information to be retrieved from sources where the meta-information is unrelated to a particular query.
  • the table 406 represents miniature dimensions between pieces of information in the table 406 as well as data associated with the other data sources 402 , 404 and 408 , which can be mined using such globally unique identifiers, either locally or via a centralized correlations system.
  • FIG. 5 is a representative diagram of a particular illustrative example of an extensible markup language (XML) text portion 500 including particular fields and data before and after updating with globally unique identifiers and associated metadata.
  • XML extensible markup language
  • particular data is tagged using XML identifiers. For example, a row identifier “ABC” is linked to a product “WebSphere®,” to a company name “IBM®,” and to a person “Tyron Stading.”
  • the XML text portion 502 can be sent to a central correlations system.
  • the tagged information is returned from the central correlations system or from the local data source along with globally unique identifiers associated with the particular product, company, and person.
  • metadata can be provided along with the globally unique identifiers, such as revenue and retail data associated with the product, revenue and employee information associated with the company, and location and salary information associated with the person.
  • the globally unique identifiers and the metadata may be stored at a data source, such as the table 406 of the data source 400 illustrated in FIG. 4 .
  • FIG. 6 is a diagram of a particular illustrative example of a document 600 including text data before and after updating with meta-data using globally unique identifiers.
  • the document 602 Prior to updating, includes person information “Tyron Stading,” product information “Websphere®,” company information “IBM®,” title information, and text information.
  • the document 604 After updating from a central correlations server or from a local data source, the document 604 includes salary metadata associated with the person information, revenue and other data associated with the product, and company revenue and other company data related to the company. If relationships, meta-data, or any combination thereof, existed for the title and the text, such information could be embedded into the document 604 as well.
  • the globally unique identifiers can be used to populate documents, reports, and data sources with related information based on associations between globally unique identifiers.
  • miniature dimensions exist between pieces of information in a table that can be mined using such globally unique identifiers, either locally or via a centralized correlations system.
  • FIG. 7 is a block diagram of a second particular illustrative embodiment of a system 700 to relate distributed data sources globally unique identifiers.
  • the system 700 includes a central correlation server 702 coupled to a unique identifier repository 703 .
  • the central correlation server 702 communicates with a search system 704 via a network 706 .
  • the central correlation server 702 is communicatively coupled to external data systems 708 via the network 706 .
  • the external data systems 708 may be coupled to external data 742 .
  • the network 706 may be a public network (such as the Internet), a private network (such as a corporate intranet, a virtual private network, an enterprise system, or any combination thereof), or any combination thereof.
  • the user device 750 can communicate with the search system 704 via the network 706 .
  • the user device 750 may represent any device, such as a computer, a web-enabled mobile phone, a personal digital assistant (PDA), a set-top box device, or any combination thereof, that has access to the Internet and that is capable of executing an Internet browser application.
  • PDA personal digital assistant
  • the search system 704 may communicate with one or more external data systems 708 , such as web sites, commercial databases, libraries, government sites, internal or private data sources, user-generated data (i.e. meta-data, user-tagged data, web logs (blogs), or other user-generated data), other data sources, or any combination thereof.
  • external data systems 708 may include structured data (such as pre-processed data, database records, other structured data, or any combination thereof), semi-structured data (such as tagged data, e.g., hypertext markup language (HTML); extensible markup language (XML); formatted data; or any combination thereof), and unstructured data (such as text).
  • structured data such as pre-processed data, database records, other structured data, or any combination thereof
  • semi-structured data such as tagged data, e.g., hypertext markup language (HTML); extensible markup language (XML); formatted data; or any combination thereof
  • unstructured data such as text.
  • the structured data may include indexed data, such as data that is assembled using an automated software application, such as a spider, a “bot,” a software agent, or other software, which commonly is used by search engine applications to index data sources for later retrieval.
  • the search system 704 can communicate via the network 706 with the user device 702 , with the external data sources 708 , and with other devices via a firewall 710 , which provides security to the search system 704 to prevent undesired intrusions.
  • the search system 704 includes an interface 712 that is responsive to the network 706 , processing logic 714 that is coupled to the interface 712 , and memory 716 that is accessible to the processing logic 714 .
  • the search system 704 may include multiple servers having separate processors and memory devices, which may cooperate to provide the search system 704 .
  • the memory 716 includes a data acquisition module 720 , including an extract-transform-load (ETL) feature, which is executable by the processing logic 714 to acquire data from the external data systems 708 and to extract, transform and load the acquired data into one or more data stores, including document data storage 734 .
  • ETL extract-transform-load
  • the ETL feature of the data acquisition module 720 can identify missing information (such as missing fields, missing meta-data, garbled information, omitted data, or any combination thereof) and can make probabilistic determinations to assign values in lieu of the missing information.
  • missing information such as missing fields, missing meta-data, garbled information, omitted data, or any combination thereof
  • the data acquisition module 720 identifies missing assignee information associated with a particular patent and makes a probabilistic determination to extrapolate a likely assignee of the patent.
  • the memory 716 may also include a search module 722 having an ETL feature.
  • the search module 722 can be executed by the processing logic 714 to receive a query, to generate queries to other search engines and to one or more of the other data sources 708 , and to extract data from search results (using the ETL feature).
  • the search module 722 may include a query learner to monitor user interactions with search results, to receive user input related to relevance of selected search results, to determine a desired result based on the user input and the initial query, and to generate new queries based on determining the desired result.
  • the memory 716 may also include a data storage module 724 that is executable by the processing logic 714 to store retrieved data, metadata, statistics, other data, or any combination thereof.
  • the data storage module 724 may also be adapted to store globally unique identifiers and associated relationships in one or more of a user data storage 732 , a document data storage 734 , a financial data storage 736 , a classification information data storage 738 , other data storage 740 , or any combination thereof.
  • the user data storage 732 can include user-provided tags (descriptions, meta-data, categories, or other information) related to documents or data associated with other stored information.
  • the user data storage 732 can also include correlations to user-created data, such as spreadsheet data, table data, document data, web log (blog) data, other data, or any combination thereof.
  • the document data storage 734 can include meta-data about documents (e.g., ownership data, location data, authorship data, date information, classification data, publication/source data, relationship/reference data, embedded tags, other data, or any combination thereof).
  • the document data storage 734 can include data related to particular structured documents, such as patents, Published patent applications, and other structured documents.
  • the document data storage 734 can include data related to the title, the inventors, the assignee, the priority data, the claims (e.g., number of claims, number of independent claims, claim terms, types of claims, other information, or any combination thereof), the Abstract (e.g., text of the abstract, keywords extracted from the abstract, a number of words in the Abstract, other information related to the abstract, or any combination thereof), the file history (e.g., whether claims were amended during prosecution, a list of cited references, links to file wrapper documents, other information, or any combination thereof), excerpts from the specification that relate to search terms, or any combination thereof.
  • the claims e.g., number of claims, number of independent claims, claim terms, types of claims, other information, or any combination thereof
  • the Abstract e.g., text of the abstract, keywords extracted from the abstract, a number of words in the Abstract, other information related to the abstract, or any combination thereof
  • the file history e.g., whether claims were amended during prosecution, a list of cited references,
  • the document data storage 734 may also include various documents, such as Patents, journals, research papers, white papers, product documents, web sites (i.e. as a stored source file), articles, press releases, books, manuals, presentations, reports, sales information, any other document containing text, or any combination thereof.
  • the financial data storage 736 can include revenues, profits, credit history, price-to-earnings (P/E) ratio, industry data for classification of tax records, Securities and Exchange Commission (SEC) reports, stock prices, stock trends, other financial data, or any combination thereof, which is related to each particular company.
  • the financial data storage 736 may also include financial data related to individuals, organizations, associations, other entities that have financial information, or any combination thereof.
  • the financial data storage 736 can include other financial information that can be related to any category of interest.
  • particular financial data may be added to the financial data storage 736 to provide customized data to a particular enterprise.
  • the financial data storage 736 may also include information that is not financial, but that is related to an entity's structure, size, organization, or other information.
  • the financial data storage 736 may include employee records, number of employees, subsidiary information, corporate officer information, tax jurisdictions, governmental grants (such as a Small Business Innovative Research (SBIR) grants, Small Business Administration (SBA) loans, other governmental grants), press release data, contracts, and other data that is related to the financial data of a particular company, entity, individual, association, or enterprise.
  • the financial data storage 736 can include enterprise resource planning (ERP) data, sales data, customer relationship management (CRM) data, other enterprise data, or any combination thereof.
  • ERP enterprise resource planning
  • CRM customer relationship management
  • the classification information data storage 738 can include multiple industry classifications and data related to those classifications.
  • the classification information data storage 738 can include a number of companies in each industry, a number of employees of each industry, average salaries of employees, revenues of companies, average revenues, average payroll, average number of companies per classification, other information, or any combination thereof.
  • the classification information data storage 738 can include location information, which may be summarized by region, state, city, zip code information, or any combination thereof.
  • the classification information data storage can include normalized classifications that are translated from North American Industry Classification System (NAICS) classifications, Standard Industry Classification (SIC) system classifications, United States Patent and Trademark Office classifications, international classification systems, legal classification systems, Reuter's classifications systems (news release categories), other news services classification systems, or any combination thereof. Additionally, the classification information system can include normalized translations that are translated from any industry-specific taxonomy, including medical indices, semiconductor industry classifications, consumer product classifications, other classifications, or any combination thereof.
  • the classification data storage 738 also includes associations between classifications from various sources. In a particular illustrative embodiment, the classification data storage system 738 can include buyer information and supplier information that is related to a particular industry. In a particular illustrative embodiment, the classification data storage system 738 can include logic to translate or to integrate classifications from various classification systems to an intermediate classification system.
  • other data storage 740 can include legal information, such as litigation-related data, including length of cases (start date and end date), decisions/outcomes of the cases, damages requested, damages granted, winners, actions of the cases (i.e. injunction, transfer, court-ordered royalties, other information), the plaintiffs, the courts, the asserted intellectual property information, jurisdiction information, location information (of the parties, of the court, etc.), rates of settlement, dismissal, verdict, unknown, settlement, statistics, other data, or any combination thereof.
  • the other data storage 740 can also include corporate legal department information, including licensing information, names of legal department contacts, other information, or any combination thereof.
  • the other data storage 740 can also include corporation data, Securities and Exchange Commission (SEC) filings (i.e. litigation information, including settlements, on-going litigation, and other litigation information extracted from the SEC filings), legislative information, other data, or any combination thereof.
  • SEC Securities and Exchange Commission
  • the other data storage 740 can also include person information (i.e. telephone white pages, yellow pages, other people “find” features, or any combination thereof).
  • the user data storage 732 , the document data storage 734 , the financial data storage 736 , the classification information data storage 738 , and the other data storage 740 may be stored at different servers, which may be in different geographic locations.
  • the user data storage 732 , the document data storage 734 , the financial data storage 736 , the classification information data storage 738 and the other data storage 740 may be stored in a single data store, which may be accessible to one or more servers.
  • the memory 716 also includes an applications module 726 that is executable by the processing logic 714 to generate graphical maps, charts, dashboard elements, other visual representations or visualizations, or any combination thereof, for visual analysis of a data set, including search results, data derived from the search results, corporate data, industry data, document data, document statistics, other data, or any combination thereof. Additionally, the applications module 726 can be executed by the processing logic 714 to reverse engineer user queries, to track user interactions with search results, and to evaluate explicit user feedback to train a query learner application and a document learner application and to automatically generate new searches. Further, the applications module 726 can be executed by the processing logic 714 to analyze the search results, to apply rules derived from the document learner, to refine the search results, and to produce additional information about the search results.
  • an applications module 726 that is executable by the processing logic 714 to generate graphical maps, charts, dashboard elements, other visual representations or visualizations, or any combination thereof, for visual analysis of a data set, including search results, data derived from the search results
  • the memory 716 also includes an operations and management module 728 that is executable by the processing logic 714 to manage subscriber accounts, to manage individual sessions, to generate alerts and other communications, and to control a user experience with the search system 704 .
  • the memory 716 further includes a centralized classification module 730 to identify correlations between data stored at different data stores and to generate data related to such correlations, which data may be stored.
  • the memory 716 can also include other modules that can be executed by the processing logic 714 , such as a graphical user interface (GUI) generator to generate a graphical user interface, including multiple selectable options.
  • GUI graphical user interface
  • the search system 704 may provide a graphical user interface (GUI) that may be rendered within an Internet browser application of a remote computing device, such as the user device 702 .
  • the GUI may request a username and password, which can be entered via the user device 702 to access the search system 704 .
  • the search system 704 receives a username and password via the network 706 , verifies the username and password using the operations and management module 728 , and retrieves subscriber account information associated with the username and password.
  • the search system 704 may retrieve stored information, including search information, messages, stored analysis, and other information.
  • the search system 704 may generate a GUI that includes selected portions of the stored information.
  • the search system 704 can search structured data, semi-structured data, and unstructured data from one or more data sources, can merge search results from each of the data sources, and can provide the search results to the user via a GUI.
  • the processing logic 714 may execute the data acquisition module 720 to extract data from documents associated with the search results and to calculate statistics related to the documents.
  • the processing logic 714 may access the search module 722 to generate queries based on the extracted data or user metadata (such as a role assigned to a particular user, e.g., an administrator role, a guest role, a user role, another role, or any combination thereof).
  • the processing logic 714 performs a secondary search related to the extracted data or metadata.
  • the search system 704 may augment the search results with results from the secondary search.
  • the search system 704 can retrieve a globally unique identifier 733 from the unique identifier repository 703 via the network 706 .
  • the search system 704 can receive the globally unique identifier 733 and store the globally unique identifier 733 at the user data 732 , the document data 734 , the financial data 736 , the classification data 738 , and the other data 740 .
  • the globally unique identifier 733 can be stored in relation to an associated record, document, or other information to define a globally unique data identifier that can be used to retrieve and associate related data from the various data sources 732 , 734 , 736 , 738 , and 740 .
  • globally unique identifier 733 is also stored at external data 742 of one or more external data systems 708 , data retrieved from the external data 742 can be readily retrieved and correlated and/or joined with the data stored at the data stores 732 , 734 , 736 , 738 , and 740 .
  • the centralized classification module 730 can be used to correlate (join or relate) search results from multiple sources using the globally unique identifier 733 . Retrieved search results can be joined via the centralized classification module 730 and presented via multi-dimensional visualizations using the applications module 726 .
  • the search system 704 can leverage the globally unique identifier 733 to retrieve and display search results. For example, a user at a user device 750 may submit a text string to the search system 704 via the network 706 .
  • the search system 704 uses the centralized classification module 730 to determine a globally unique identifier associated with the text string. If the globally unique identifier cannot be determined, the search system 704 can forward the text string to the central correlation server 702 , which can retrieve the appropriate globally unique identifier 733 from the unique data repository 703 and return the globally unique identifier 733 to the search system 704 .
  • the search system 704 can then use the text string and/or the globally unique identifier 733 to retrieve and display the search results from multiple data sources.
  • FIG. 8 is a block diagram of a third particular illustrative embodiment of a system 800 to relate distributed data sources using distributed correlations.
  • the system 800 includes a correlations system 802 that communicates with an enterprise system 810 via a network 812 .
  • the correlations system 802 and the enterprise system 810 can also communicate with external data systems 818 and remote devices 820 and 822 via the network 812 .
  • the correlations system 802 includes a unique identifier (ID) repository 804 that stores mappings between text strings and globally unique identifiers.
  • ID unique identifier
  • each globally unique identifier represents a single entity, person, place, product, or other piece of information, and multiple text strings can be related to a single globally unique identifier.
  • the unique ID repository 804 can also store data related to associations between globally unique identifiers.
  • the correlations system 802 further includes identifier mapping logic 806 to receive a text string and to identify a statistically relevant mapping between the text string and a particular globally unique identifier within the unique ID repository 804 .
  • the correlations system 802 includes a graphical user interface (GUI) generator 808 adapted to generate a GUI including user selectable indicators to allow a user to modify data and associations related to a particular globally unique identifier from the unique ID repository 804 .
  • GUI graphical user interface
  • the enterprise system 810 includes an interface 824 that is coupled to the network 812 .
  • the enterprise system 810 further includes processing logic 826 coupled to the interface 824 and a memory 828 that is accessible to the processing logic 826 .
  • the memory 828 includes a plurality of modules or instructions that are executable by the processing logic 826 .
  • the memory 828 includes an operations and management systems module 834 adapted to manage access to enterprise system 810 .
  • the memory 828 further includes a search module including extract/transform/load (ETL) features 836 that is executable by the processing logic 826 to search multiple data sources and to extract, transform and store portions of the search results.
  • ETL extract/transform/load
  • the memory 828 also includes an applications module including visualizations 838 that is executable by the processing logic 826 to perform operations on search results and to display the search results in various graphs, charts, or other visualizations to assist a user in data analysis.
  • the memory 828 also includes a data acquisition module 840 adapted to receive information and to provide the information to the search module 836 for performing ETL operations on the acquired information.
  • the memory 828 may also include enterprise data 842 and distributed correlations data (globally unique identifiers) 846 .
  • the enterprise data 842 may be proprietary data, which is maintained by an enterprise. It may be desirable to leverage the proprietary data with publically or privately maintained data from external data system 818 .
  • the memory 828 may also include an enterprise classifications module 844 that is executable by the processing logic 826 to classify search results and information and to associate information from various sources using context and globally unique identifiers from the distributed correlation data 846 to relate the search results.
  • an enterprise classifications module 844 that is executable by the processing logic 826 to classify search results and information and to associate information from various sources using context and globally unique identifiers from the distributed correlation data 846 to relate the search results.
  • the enterprise system 810 can request and receive globally unique identifiers for particular information stored in the enterprise data 842 .
  • the enterprise classifications module 844 is adapted to associate the received globally unique identifiers with information already stored at the enterprise data 842 .
  • the enterprise system 810 can use the globally unique identifier in conjunction with the search module 836 .
  • a user can submit a text string to the enterprise system 810 to initiate a search for data.
  • the enterprise system 810 can use the search module 836 to retrieve one or more globally unique identifiers associated with the text string either from the distributed correlation data 846 or from the unique identifier repository 804 .
  • the search module 836 can then to retrieve data associated with the one or more globally unique identifiers from multiple data sources.
  • the enterprise system 810 can use the applications module 838 to join (correlate) search results from the multiple data sources using the globally unique identifier and to provide the correlated search results to the user via one or more visualizations included in a graphical user interface.
  • FIG. 9 is a block diagram of a fourth particular illustrative embodiment of a system 900 to relate distributed data sources using distributed correlations.
  • the system 900 includes a centralized correlation system 902 that is coupled to a unique identifier (ID) repository 904 .
  • the centralized correlation system 902 is adapted communicate with first, second, and third enterprise systems 920 , 922 , and 924 via a network 914 .
  • the first enterprise system 920 includes a first database 930 and distributed correlations (globally unique identifiers) 940 from the centralized correlation system 902 .
  • the second enterprise system 922 includes a second database 932 and distributed correlations (globally unique identifiers) 942 from the centralized correlation system 902 .
  • the third enterprise system 924 includes a third database 934 and distributed correlations (globally unique identifiers) 944 from the centralized correlation system 902 .
  • the distributed correlations 940 , 942 , and 944 can be stored in the first, second, and third databases 930 , 932 , and 934 , respectively.
  • the distributed correlations 940 , 942 , and 944 may be identical. In another particular example, the distributed correlations 940 , 942 , and 944 may vary based on when a particular set of distributed correlations was last updated from the unique ID repository 904 . Further, the particular distributed correlations 940 at the first enterprise system 920 may include globally unique identifiers associated with data at the first database 930 , while the distributed correlations 942 at the second enterprise system 922 can include globally unique identifiers associated with data stored in the second database 932 . Depending on the content of the first, second and third databases 930 , 932 , and 934 , the associated distributed correlations 940 , 942 , and 944 may also vary.
  • the globally unique identifier can be used to perform peer-to-peer data retrieval and to join search results retrieved from multiple data sources, such as the first, second and third databases 930 , 932 , and 934 .
  • first, second, and third databases 930 , 932 and 934 may be data sources other than databases, such as data files, tables, document storage, or other types of data sources.
  • the distributed correlations can be used to relate to various types of data, including structured, semi-structured, and unstructured (text) data.
  • FIG. 10 is a flow diagram of a particular illustrative embodiment of a method of distributing globally unique identifiers for searching multiple data sources and for correlating search results.
  • a text string is sent from a source device to a destination device, which has a unique identifier repository having a plurality of globally unique identifiers mapped text strings, relationship data defining associations between the plurality of globally unique identifiers, and meta-data related to the text string, where each of the plurality of globally unique identifiers includes a data value that is shared by a plurality of data sources as an identifier associated with information related to the text string.
  • data is received that includes one or more globally unique identifiers, associated relationship data, and associated meta-data from the destination device at the source device in response to sending the text string.
  • the received data are stored at a memory of the source device for use in searching and relating search results received from multiple data sources.
  • the memory of the source device comprises a random access memory (RAM), a buffer memory, another temporary storage, or any combination thereof.
  • the memory comprises a non-volatile memory, database, or other data storage device to which the source device has access. The method terminates at 1008 .
  • the method includes extracting the text string from a document at the source device and sending the extracted text string to the destination device.
  • the method may also include associating the globally unique identifier with the document and storing the globally unique identifier and the document in the memory of the source device.
  • the method also includes searching multiple data sources using a query that is related to the globally unique identifier and joining results from multiple data sources using the globally unique identifier to correlate the results.
  • FIG. 11 is a flow diagram of a particular illustrative embodiment of a method of generating a globally unique identifier related to a received text string.
  • data is received at a centralized correlation system from a destination device, where the data is related to a data structure of a data source at the destination device.
  • the data is a text string that is extracted from a document at the data source.
  • the data is a schema or data structure related to a database or to a semi-structured data source such as a set of tagged documents.
  • the data is extracted to identify a plurality of information, such as labels, tags, fields, other identifiers, or any combination thereof, as well as to identify proper nouns and other text strings.
  • the extracted data is compared to a plurality of centralized categories (globally unique identifiers) to identify matches and to map the plurality of categories of information from the extracted data to a plurality of centralized categories or globally unique identifiers.
  • unmapped categories of the plurality of categories of information from the extracted data are processed to correlate the unmapped categories to one or more of the plurality of centralized categories or to automatically create new centralized categories when at least one of the unmapped categories cannot be mapped to one of the plurality of centralized categories.
  • distributed correlation data and optionally relationship data and/or meta-data are sent to the destination device, where the distributed correlation data includes a mapping of the plurality of categories of information from the extracted data to the plurality of centralized categories to facilitate a correlation of search results from one or more distributed data sources. The method terminates at 1112 .
  • a document or data source can be parsed to extract fields and associated data, and one or more globally unique identifiers can be retrieved from a unique identifier repository that are related to the extracted fields and associated data.
  • globally unique identifiers and relationships between globally unique identifiers can be mapped to the extracted fields and associated data.
  • FIG. 12 is a flow diagram of a particular illustrative embodiment of a method of registering a globally unique identifier received from a source.
  • data related to a data structure of a data source are sent from the data source to a centralized correlation system, where the data structure includes a plurality of categories of information.
  • the plurality of categories of information includes multiple globally unique identifiers and relationship data defining associations between at least some of the multiple globally unique identifiers.
  • distributed correlation data are received from the centralized correlation system, where the distributed correlation data includes a mapping of the plurality of categories to a normalized set of categories, such as a set of globally unique identifiers.
  • the normalized set of categories represents mappings between the data and related globally unique identifiers as well as relationships between the globally unique identifiers.
  • the distributed correlation data includes at least one globally unique identifier, associated relationship data, and associated meta-data.
  • a search of a data source is initiated using the data structure of the data source and a search of one or more other data sources using the distributed correlation data (i.e., at least one globally unique identifier).
  • the globally unique identifiers are utilized to search the data source and one or more other data sources.
  • search results are received from the data source and from the one or more other data sources.
  • the search results from the data source and from the one or more other data sources are correlated to produce a correlated set of search results using at least one globally unique identifier.
  • the globally unique identifier can be used to relate data received from the various data sources.
  • the search results constitute a data cube having an edge defined by at least one globally unique identifier.
  • a user interface is provided to a destination device, where the user interface includes data related to the correlated set of search results.
  • the data may be provided using an applications module or graphical user interface (GUI) generator that can present the search results in one or more formats, including a list of ranked search results, a graph, a chart, another type of visualization, or any combination thereof.
  • GUI graphical user interface
  • FIG. 13 is a flow diagram of a particular illustrative embodiment of a method of providing a user interface to a destination device based on search results retrieved from federated data sources and correlated using a globally unique identifier.
  • a query is received to search one or more data sources at a first device.
  • the query is parsed to identify the one or more data sources to be searched.
  • the first device communicates with the one or more data sources directly to retrieve results data related to the query using a distributed correlation mapping that is accepted by the one or more data sources.
  • the distributed correlation mapping includes a first globally unique identifier associated with the query and one or more other globally unique identifiers having a relationship with the first globally unique identifier.
  • the relationship may be determined from relationship data defining an association between globally unique identifiers.
  • Each of the one or more data sources to be searched may include at least some of the globally unique identifiers from a central unique identifier repository.
  • the results data is correlated using the distributed correlation mapping to produce a set of correlated search results.
  • the globally unique identifier and relationship data can be used to produce a data cube having an edge defined by at least one globally unique identifier.
  • the globally unique identifier and relationship data can be used to produce search results having multiple related dimensions, and the globally unique identifier and relationship data can be used to identify the relationships and to display the results.
  • a user interface is generated that includes data related to the set of correlated search results.
  • the user interface may include one or more visualizations of the data, a list of search results, one or more user-selectable indicators for interacting with the data, or any combination thereof.
  • the data related to the set of search results includes globally unique identifiers, associated relationship data, and associated meta-data, which augment the search results in multiple dimensions for enriched data mining.
  • the user interface is provided to a destination device.
  • the destination device may include an Internet browser or another application in which the user interface may be rendered for display to a user. The method terminates at 1314 .
  • FIG. 14 is a flow diagram of a particular illustrative embodiment of a method of determining a globally unique identifier from a unique identifier repository based on a text string or a data set.
  • data are received from a destination device at a search system, where the data is related to a set of categories and associated data of a first data store of the destination device.
  • the received data are correlated to a normalized data mapping for previously registered data values, where the normalized data mapping includes a plurality of unique identifiers mapped to a respective plurality of data values and where each data value is mapped to a unique identifier of the plurality of identifiers.
  • the data are normalized by expanding the data to include logical variations and synonyms, which can be searched within the plurality of identifiers to retrieve one or more globally unique identifiers.
  • new identifiers are automatically generated within the normalized data mapping for previously unregistered values. For example, after searching, if no globally unique identifier is found, a new globally unique identifier may be generated for the data, and an interface may be provided to allow a user, such as an operator, administer, or other user to supplement the record with association information.
  • the interface may be a web-interface, such as a Wiki-type web-interface that allows any registered user to supplement a particular registered information item.
  • the normalized data mapping is distributed to the destination device. In a particular example, if the globally unique identifier is new, few if any relationship data may be available.
  • globally unique identifiers may have relationship data that defines associations between globally unique identifiers.
  • the globally unique identifier and associated relationship data may be provided to the destination device (such as a user device) in response to receiving a query. The method terminates at 1410 .
  • FIG. 15 is a diagram of a particular illustrative embodiment of a graphical user interface 1500 including a plurality of user selectable indicators accessible to a user to access a correlated set of search results from distributed data sources.
  • the graphical user interface 1500 may be provided to a remote device to display correlated data, which data is correlated using at least one globally unique identifier.
  • the graphical user interface 1500 includes a window 1502 that includes a text input 1504 , and user selectable tabs, including a “maps” tab 1506 , a “search” tab 1508 , an “analysis” tab 1510 , and “My Home” tab 1512 .
  • An “analysis” tab 1510 is selected and an analysis panel 1520 is displayed that includes a visualization associated with a set of search results is.
  • the “analysis” tab panel 1520 includes user-selectable control panel 1524 that has multiple filters for adjusting the search results, for example using data limiters or by negating particular companies or classifications, thereby reducing the document space of the search results.
  • the “analysis” tab panel 1520 further includes a landscape or visualization 1522 based on the search results. In this particular example, a document landscape is shown. Further, the “analysis” tab panel 1520 includes user-selectable indicators, such as the menu 1526 , which may be used to switch between visualization.
  • the user may select “industry statistics” 1530 , a “world map” 1532 , “legal trends” 1534 , or other options to alter visualizations based on the search results and to view dimensions related to the search results, which can be derived based on a globally unique identifier.
  • the patent number may represent a globally unique identifier.
  • each inventor and each assignee may be assigned globally unique identifiers in order to relate inventors across multiple assignees and to derive relationships between various entities based on a found set of patents.
  • the graphical user interface 1500 includes user selectable elements, such as the tabs 1506 , 1508 , 1510 , and 1512 , the “apply filter” and “save filter” buttons, the menu 1526 , the text box 1504 , and other user selectable elements. Further, the graphical user interface 1500 includes data related to a set of search results, including data dimensions that may be derived from data retrieved using globally unique identifiers, relationships between globally unique identifiers, and associated meta-data.
  • the industry statistics menu item 1530 can be used to access statistical data related to industries identified in the set of search results, which statistical data may be associated with the search results based on embedded meta-data or based on relationships between globally unique identifiers associated with information items within the set of search results.
  • the particular menu options and the associated information may be dynamically assembled and correlated with the search results, for multi-dimensional data retrieval.
  • FIG. 16 is a diagram of a particular illustrative embodiment of a graphical user interface 1600 including a plurality of user selectable indicators accessible to a user to modify mappings between text strings and globally unique identifiers stored in the unique identifier repository.
  • the graphical user interface 1600 may be accessible only to authorized users via user name and password authentication.
  • the graphical user interface 1600 includes a window 1602 having a navigation portion 1604 , a record identification portion 1606 , and an editing portion 1608 .
  • the navigation portion 1604 includes a plurality of user-selectable indicators, including a select different identifier button 1610 to select a different globally unique identifier for editing.
  • the navigation portion 1604 includes a select create new identifier button 1612 that can used to create a new globally unique identifier for a piece of information.
  • the navigation portion 1604 also includes a logout button 1614 that allows a user to exit a session.
  • the editing portion 1608 includes user-selectable elements 1616 , 1618 , and 1620 to allow a user to edit associations and related information, such as synonyms for the particular company, people related to the particular company, products related to the particular company, and so on. Further, the editing portion 1608 includes at least one user-selectable element 1622 to allow a user to edit meta-data associated with the selected globally unique identifier shown in the record identification portion 1606 . The editing portion 1608 further includes additional user-selectable indicators, including an edit button 1624 to edit information contained in the record, a save button 1626 to save changes to the information, and a cancel button 1628 to exit an edit mode without saving changes.
  • the graphical user interface 1602 can be used with a collection of Internet pages that will allow for public access and editing of the records, such as a WIKI-type content source.
  • the graphical user interface 1600 may be accessed by users to updated and modify associated relationships and meta-data associated with a particular globally unique identifier.
  • the graphical user interface 1600 may be accessible to the general public, similar to a WIKI-type web site to allow users to supplement available information related to the globally unique identifier.
  • the graphical user interface 1600 may be accessible only to authorized users.
  • a system is disclosed to create, store and share globally unique identifiers that can be used to retrieve and join (correlate) information retrieved from multiple data sources.
  • the system operates as a central clearinghouse for globally unique identifiers so that the globally unique identifier can be registered to guarantee uniqueness across a known space.
  • the globally unique identifier can have large number of bits, such as 128-bits or more to statistically ensure uniqueness over a large domain of information.

Abstract

In a particular embodiment, a method includes sending a text string from a source device to a destination device. The destination device includes a unique identifier repository having a plurality of globally unique identifiers mapped text strings, relationship data defining associations between the plurality of globally unique identifiers, and meta-data related to the text string. Each of the plurality of globally unique identifiers includes a data value that is shared by a plurality of data sources as an identifier associated with information related to the text string. The method further includes receiving data including one or more globally unique identifiers, associated relationship data, and associated meta-data from the destination device at the source device in response to sending the text string. Additionally, the method includes storing the received data at a memory of the source device for use in searching and relating search results received from multiple data sources.

Description

    FIELD OF THE DISCLOSURE
  • The present disclosure is generally related to a system and method of applying globally unique identifiers to relate distributed data sources.
  • BACKGROUND
  • In general, public information sources, such as the Internet, present challenges for information retrieval. The volume of information available via the Internet grows daily, and search engine technologies have scaled dramatically to keep up with such growth. Conventionally, search engines, such as those provided by Yahoo, Google, and others, utilize data collection technologies, such as spiders, bots, and web crawlers, which are software applications that access web pages and trace hypertext links in order to generate an index of web page information. The data collected by such software applications is typically stored as pre-processed data on which search engines may operate to perform searches and to retrieve information.
  • Additionally, a vast amount of data exists that is not accessible to the public Internet (e.g., “dark web” data, internal data, internal application data, private data, subscription database data, other data sources, or any combination thereof). Such data can often be searched via private access interfaces, private search tools, other application program interfaces, or any combination thereof. Such information may be segregated from other information sources, requiring multiple interfaces, multiple protocols, multiple formats, and different database drivers to access the data. Accordingly, information retrieval can be complicated by the variety of data sources.
  • In general, software has been developed to provide “on-line analytical processing” (OLAP) for collecting, managing, processing, and presenting multidimensional data for analysis and management purposes. Typically, an OLAP interface is customized for each data source. However, such custom interfaces do not readily leverage existing, distributed data sources without significant coding. Further, when an OLAP interface is designed to access multiple data sources, either the multiple data sources are pre-processed to index the data to a searchable index or the multiple data sources are commonly controlled such that the data structures are uniform. Unfortunately, a large amount of data, for example, unstructured data and semi-structured data that is stored on the Internet, may include useful information that cannot readily be correlated to data from other sources.
  • Conventionally, multiple data sources may include data related by a common attribute. However, such data may not be readily correlated due to differences in data structures, in attribute labels, in data formats, in the data entered, or any combination thereof. For example, in one data source, a company name may be tagged or labeled using the term “company,” while another data source may label the data using other terms, such as “business name,” “co.,” “corporation,” other labels, or any combination thereof. Further, even when two data sources have common labels, such as “company,” the data is entered in a first data source may be entered differently from the second data source, making it difficult to correlate the data without manual intervention.
  • SUMMARY
  • In a particular embodiment, a method includes sending a text string from a source device to a destination device. The destination device includes a unique identifier repository having a plurality of globally unique identifiers mapped text strings, relationship data defining associations between the plurality of globally unique identifiers, and meta-data related to the text string. Each of the plurality of globally unique identifiers includes a data value that is shared by a plurality of data sources as an identifier associated with information related to the text string. The method further includes receiving data including one or more globally unique identifiers, associated relationship data, and associated meta-data from the destination device at the source device in response to sending the text string. Additionally, the method includes storing the received data at a memory of the source device for use in searching and relating search results received from multiple data sources.
  • In another particular embodiment, a system includes an interface responsive to a network and a unique identifier repository adapted to store mappings between text strings and globally unique identifiers, to store relationship data defining associations between globally unique identifiers, and to store meta-data associated with the text strings. Each globally unique identifier includes a single value that is used as an index by a plurality of data sources to identify particular information. The system further includes processing logic having access to the unique identifier repository. The processing logic is adapted to receive a text string from a source device via the network, to identify at least one globally unique identifier related to the text string at the unique identifier repository, and to send the at least one globally unique identifier, associated relationship data, and associated meta-data to the source device via the network, where the globally unique identifier and associated relationship data are for storage at the source device.
  • In still another particular embodiment, a system includes a unique identifier repository adapted to store mappings between data strings and globally unique identifiers, to store relationship data representing associations between globally unique identifiers, and to store associated meta-data. Each of the plurality of globally unique identifiers includes a data value that is shared by a plurality of data sources as an identifier associated with information related to the text string. The system further includes processing logic having access to the unique identifier repository and memory accessible to the processing logic. The memory includes instructions that are executable by the processing logic to receive a text string from a source device, to infer an association between the text string and a globally unique identifier from the unique identifier repository, and to send the globally unique identifier, associated relationship data, and associated meta-data to the source device for storage at a memory associated with the source device.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is a block diagram of a particular illustrative embodiment of a system to map a text string to a globally unique identifier;
  • FIG. 2 is a block diagram of a particular illustrative embodiment of a system to relate distributed data sources using globally unique identifiers;
  • FIG. 3 is a block diagram of a particular illustrative embodiment of a data source that is updated to include a globally unique identifier for existing data;
  • FIG. 4 is a block diagram of a second particular illustrative embodiment of a data source that is updated to include globally unique identifiers for multiple fields within existing data, which may be stored in one or more data sources;
  • FIG. 5 is a representative diagram of a particular illustrative example of an extensible markup language (XML) text portion including particular fields and data before and after updating with globally unique identifiers and associated metadata;
  • FIG. 6 is a diagram of a particular illustrative example of a document including text data before and after updating with meta-data using globally unique identifiers;
  • FIG. 7 is a block diagram of a second particular illustrative embodiment of a system to relate distributed data sources globally unique identifiers;
  • FIG. 8 is a block diagram of a third particular illustrative embodiment of a system to relate distributed data sources using distributed correlations;
  • FIG. 9 is a block diagram of a fourth particular illustrative embodiment of a system to relate distributed data sources using distributed correlations;
  • FIG. 10 is a flow diagram of a particular illustrative embodiment of a method of distributing globally unique identifiers for searching multiple data sources and for correlating search results;
  • FIG. 11 is a flow diagram of a particular illustrative embodiment of a method of generating a globally unique identifier related to a received text string;
  • FIG. 12 is a flow diagram of a particular illustrative embodiment of a method of registering a globally unique identifier received from a source;
  • FIG. 13 is a flow diagram of a particular illustrative embodiment of a method of providing a user interface to a destination device based on search results retrieved from federated data sources and correlated using a globally unique identifier;
  • FIG. 14 is a flow diagram of a particular illustrative embodiment of a method of determining a globally unique identifier from a unique identifier repository based on a text string or a data set;
  • FIG. 15 is a diagram of a particular illustrative embodiment of a graphical user interface including a plurality of user selectable indicators accessible to a user to access a correlated set of search results from distributed data sources; and
  • FIG. 16 is a diagram of a particular illustrative embodiment of a graphical user interface including a plurality of user selectable indicators accessible to a user to modify mappings between text strings and globally unique identifiers stored in the unique identifier repository.
  • DETAILED DESCRIPTION OF ILLUSTRATIVE EMBODIMENTS
  • In general, a system and method of creating, retrieving and using a globally unique identifier is disclosed. In a particular embodiment, a central clearinghouse is disclosed that hosts a data repository of globally unique identifiers and that is adapted to receive a text string and to identify and provide a globally unique identifier related to the text string to a destination device. The globally unique identifier can be distributed to a plurality of systems for use in retrieving search results and in correlating the search results to provide multi-dimensional results. Further, the central clearinghouse is adapted to store relationship data defining associations between globally unique identifiers as well as meta-data related to the globally unique identifiers. Such relationship data and meta-data can also be provided to the destination device.
  • In another example, a method is disclosed for sending a text string related to data stored at a source device to a centralized correlation system, which is adapted to determine a globally unique identifier related to the text string from a unique identifier repository. The globally unique identifier and associated relationship data and meta-data are sent to the source device, which receives and stores the globally unique identifier and its associated information at a memory related to the source. In a particular example, the memory can be included in a source device or may be accessible to the source device via a network.
  • FIG. 1 is a block diagram of a particular illustrative embodiment of a system 100 to map a text string to a globally unique identifier. The system 100 includes mapping logic 102 that is coupled to a unique identifier repository 104. The unique identifier repository 104 includes multiple globally unique identifiers where each globally unique identifier uniquely represents particular information. In a particular example, each globally unique identifier is mapped to a unique piece of information, such as a name of a person, a place, a business, a commercial product, a content source (such as a text file, document, database record, or any combination thereof), another piece of information, or any combination thereof. In a particular example, the globally unique identifier can be related to a proper noun, and each globally unique identifier can have a variety of associations or relationships to other globally unique identifiers. In general, each globally unique identifier can have associated relationship data and associated meta-data.
  • The mapping logic 102 is adapted to receive a text string 106. The mapping logic 102 may also optionally receive logical variations of the text string 108 and synonyms or terms related to the text string 110. In a particular example, heuristics may be applied to the text string 106 to identify variations that reflect common misspellings, common or possible abbreviations, and possible variants related to the text string 106.
  • The mapping logic 102 is adapted to identify a globally unique identifier from the unique identifier repository 104 that is related to at least one of the text string 106, the logical variations of the text string 108, and the synonyms or terms related to the text string 110. In a particular example, the mapping logic 102 may be adapted to apply statistical analysis to identify a likely globally unique identifier from a plurality of globally unique identifiers based on a context and/or other factors to select a particular globally unique identifier. The mapping logic 102 is adapted to provide the selected globally unique identifier that is associated with the text string to an output 112. In particular, the mapping logic 102 is adapted to provide the selected globally unique identifier, associated relationship data, and associated meta-data to the output 112 and/or to send the selected globally unique identifier, the associated relationship data, and the associated meta-data to a destination device.
  • In a particular embodiment, the mapping logic 102 and the unique identifier repository 104 may be hosted by a central correlation system, which acts as a repository and clearinghouse (registration source) for globally unique identifiers that can be used to search multiple federated data sources and to relate (correlate or join) search results. New information items can be registered with a globally unique identifier or can be provided to the mapping logic 102 to identify an existing identifier or to create a new globally unique identifier. The globally unique identifier at the output 112 can be sent to a remote device for storage and subsequent use.
  • In a particular example, the mapping logic 102 is adapted to ensure that each unique identifier is globally unique, at least within an available content space, so that the globally unique identifier can be relied upon to retrieve relevant information and to associate and join information from different data sources along at least one dimension. In a particular example, the globally unique identifier can serve as an edge of a data cube including information from multiple data sources and in various data structures, allowing a search system or other device to provide useful information and to organize the information in ways that may allow for visualizations and other data representations that might not otherwise be possible. To the extent that the mapping logic 102 and the unique identifier repository 104 are managed by a clearinghouse, the mapping logic 102 can guarantee uniqueness of the identifier within the known data space. Further, by using an identifier that includes 128-bits or more, the globally unique identifier is statistically likely to be unique relative to existing serial numbers or identifiers generated independently from the mapping logic 102.
  • FIG. 2 is a block diagram of a particular illustrative embodiment of a system 200 to relate distributed data sources using globally unique identifiers. The system 200 includes a centralized correlation system 202 that is adapted to communicate with multiple data sources 204, 206, 208 and 210 via a network 212. In a particular example, the network 212 may be a local area network, a wireless network (local or wide area), a wide area network, such as the Internet, or any combination thereof. It should be understood that the data sources 204, 206, 208, and 210 can be server systems, individual computers, stand-alone databases, or any combination thereof. In general, the data sources 204, 206, 208, and 210 can store structured data, semi-structured data (such as tagged data), unstructured (text) data, or any combination thereof.
  • The centralized correlation system 202 includes an interface 214 that couples the centralized correlation system 202 to the network 212. The centralized correlation system 202 further includes processing logic 216 and memory 218 accessible to the processing logic 216. In a particular example, the centralized correlation system 202 can be distributed across multiple computing systems and the memory 218 and the processing logic 216 can be distributed.
  • The memory 218 includes a plurality of instructions that are executable by the processing logic 216 to identify and provide a globally unique identifier for use by other systems. The memory 218 includes category identification logic 220 that is executable by the processing logic 216 to determine a category of information related to a particular text string. The memory 218 further includes an analysis module 222 that is executable by the processing logic 216 to apply heuristics to a received text string identify possible typographical errors and to reduce or limit the search. In a particular example, the analysis module 222 may be adapted to identify likely variants of a text string based on a context from which the text string is received. For example, if the text string is derived from a patent search, the analysis module 222 may infer a likely spelling based on a particular technology area. In a particular example, the analysis module 222 may also be adapted to expand a text string to include synonyms. The memory 218 further includes a unique identifier (ID) generator 224, which may be adapted to generate a statistically unique ID value, such as multiple digit number, a 128-bit or 256-bit hexadecimal value, another identifier that includes text and numbers, or any combination thereof, which may be associated with the text string to provide a globally unique identifier.
  • The memory 218 also includes correlation (mapping) logic 226 that is adapted receive a text string and optionally one or more synonyms and one or more variations of the text string. The correlation logic 226 is adapted to identify a globally unique identifier associated with the received data. In general, the correlation logic 226 is adapted to reduce one or more terms/synonyms/logical variations to a single globally unique identifier from one or more correlated records 230. For example, the one or more correlated records 230 can include a record 232 associated with IBM® that is associated with a globally unique identifier (e.g., globally unique identifier is 123). Additionally, the record 232 also includes other associations, such as a person “Tyron Stading=567”, where the number “567” represents another globally unique identifier. Similarly, the record 232 includes a product name (Websphere=789), where the number “789” represents another globally unique identifier. It should be understood that while the globally unique identifiers are illustrated as simple integer values, the numbers can be floating point numbers, hexadecimal numbers, or other types of numbers. Further, while the number is shown as a three-digit number, it should be understood that any number of digits may be used. Further, in a particular embodiment, the correlated records 230 may store multiple globally unique identifiers that a particular globally unique identifier may have associated relationship data and meta-data that relate the particular globally unique identifier to other globally unique identifiers and to other related information.
  • Further, the memory 218 includes a centralized correlation output generator 228, which may be used to generate an output in a form that can be used by a requesting device. For example, if the requesting device that sends the text string is a database having a particular extensible markup language (XML) schema, the centralized correlation output generator 228 may be adapted to provide the globally unique identifier to the requesting device in an XML format.
  • In this particular example, the data sources 204, 206, 208, and 210 include the same information entered in different ways. For example, the company name “IBM” is represented in four different ways. Similarly, the individual's name “Tyron Stading” is represented in four different ways. In general, even within a single enterprise, unless strict data entry guidelines are enforced, data can be made difficult to retrieve and correlate because the data is entered differently at each data source.
  • In a particular embodiment, the data source 206 sends a text string “Int. Bus. Machines” to the centralized correlation system 202 via the network 212. The analysis module 222 can be used by the processing logic 216 to expand the text string to include multiple possible variations. The correlation logic 226 is adapted to identify the record 232 in the correlated records 230 and to determine that the received text string is correlated to the globally unique identifier 123. In this particular example, the centralized correlation output generator 228 provides the globally unique identifier 123 to the data source 206 for inclusion and association with its existing records. Additionally, the centralized correlation output generator 228 can provide relationship data representing associations between the globally unique identifier 123 and other identifiers to the data source 206. Further, the centralized correlation output generator 228 can provide meta-data associated with the globally unique identifier and/or with the relationship data.
  • In a particular example, by populating multiple data sources with the globally unique identifier (GUID), each of the data sources may be searched using the GUID to retrieve desired information. Further, the GUID can be used to join data received from multiple data sources. For example, the search results from the multiple data sources 204, 206, 208, and 210 can be organized into a data cube with the GUID serving as an edge of the cube. In a particular example, the GUID can be used to join information from multiple data sources, so that the search results can be mined in multiple dimensions. Further, if the multiple data sources 204, 206, 208, and 210 also store the associated meta-data, the search results can be enriched with the meta-data to provide multiple dimension of information.
  • FIG. 3 is a block diagram of a representative embodiment of a data source 300 that is updated to include a globally unique identifier for existing records. In a particular example, a data source 300, such as the data source 204 illustrated in FIG. 2, includes a plurality of data records 204A, which include an index number 302, a company name 304, and other information 306. In a particular example, the index number 302 may represent a serial number or record number that is unique to the particular data source and which can be used to retrieve individual records.
  • A host associated with the data source 204 may submit a text string, such as the company name 304, to a centralized correlation server. The centralized correlation server returns a globally unique identifier related to the text string. The globally unique identifier can be stored in the updated plurality of records 204B as a globally unique identifier 310. In general, once the data source is updated with the globally unique identifier 310, its data can be readily joined and correlated with data from other sources using the globally unique identifier 310.
  • It should be understood that the plurality of records 204B represent only one way of modifying the source information with the received globally unique identifier. Further, if associated relationship data and associated meta-data are received at the data source 300, such relationship data and associated meta-data are not reflected in the updated plurality of records 204B. In this particular instance, such relationship data and associated meta-data may be stored elsewhere or may be disregarded at the data source 300.
  • FIG. 4 is a block diagram of a second particular illustrative embodiment of a data source 400 that is updated to include globally unique identifiers for multiple fields within existing data, which may be stored in one or more data sources. The data source 400 includes general corporation information 402 including a company identifier that relates to a globally unique identifier. The data source 400 further includes product information 404 that relates to a product identifier that is a globally unique identifier. Further, the data source includes employee data 408 that includes salary information for particular employees that is related to a globally unique identifier. The data source 400 may also include a table 406 that has a globally unique identifier related to each field. In this instance, each record has a row identifier. Within the first row, for example, the row identifier includes a product name with an associated globally unique identifier (product identifier), a company name with an associated globally unique identifier (company identifier), and a person's name with an associated globally unique identifier (person identifier). The table 406 can include other information, which can be readily associated with corresponding globally unique identifiers located in other data stores at the data source 400 or at a remote data source.
  • In a particular embodiment, the globally unique identifiers in the table 406 can be exploited to assemble distributed information from various sources to join related information. The table 406 defines an association between the various globally unique identifiers that allows meta-information to be retrieved from sources where the meta-information is unrelated to a particular query. In a particular example, the table 406 represents miniature dimensions between pieces of information in the table 406 as well as data associated with the other data sources 402, 404 and 408, which can be mined using such globally unique identifiers, either locally or via a centralized correlations system.
  • FIG. 5 is a representative diagram of a particular illustrative example of an extensible markup language (XML) text portion 500 including particular fields and data before and after updating with globally unique identifiers and associated metadata. Before updating from a central correlations system or from a local data source, at 502, particular data is tagged using XML identifiers. For example, a row identifier “ABC” is linked to a product “WebSphere®,” to a company name “IBM®,” and to a person “Tyron Stading.” The XML text portion 502 can be sent to a central correlations system.
  • At 504, the tagged information is returned from the central correlations system or from the local data source along with globally unique identifiers associated with the particular product, company, and person. Further, metadata can be provided along with the globally unique identifiers, such as revenue and retail data associated with the product, revenue and employee information associated with the company, and location and salary information associated with the person. The globally unique identifiers and the metadata may be stored at a data source, such as the table 406 of the data source 400 illustrated in FIG. 4.
  • FIG. 6 is a diagram of a particular illustrative example of a document 600 including text data before and after updating with meta-data using globally unique identifiers. Prior to updating, the document 602 includes person information “Tyron Stading,” product information “Websphere®,” company information “IBM®,” title information, and text information.
  • After updating from a central correlations server or from a local data source, the document 604 includes salary metadata associated with the person information, revenue and other data associated with the product, and company revenue and other company data related to the company. If relationships, meta-data, or any combination thereof, existed for the title and the text, such information could be embedded into the document 604 as well.
  • In general, the globally unique identifiers can be used to populate documents, reports, and data sources with related information based on associations between globally unique identifiers. In a particular example, miniature dimensions exist between pieces of information in a table that can be mined using such globally unique identifiers, either locally or via a centralized correlations system. Once the globally unique identifiers are stored locally, the information can be used to enrich existing documents and reports with information that might otherwise be difficult to locate and/or that the particular individual might not otherwise be aware of.
  • FIG. 7 is a block diagram of a second particular illustrative embodiment of a system 700 to relate distributed data sources globally unique identifiers. The system 700 includes a central correlation server 702 coupled to a unique identifier repository 703. The central correlation server 702 communicates with a search system 704 via a network 706. Further, the central correlation server 702 is communicatively coupled to external data systems 708 via the network 706. The external data systems 708 may be coupled to external data 742. In a particular illustrative embodiment, the network 706 may be a public network (such as the Internet), a private network (such as a corporate intranet, a virtual private network, an enterprise system, or any combination thereof), or any combination thereof. In general, multiple remote devices, such as the user device 750, can communicate with the search system 704 via the network 706. In a particular illustrative embodiment, the user device 750 may represent any device, such as a computer, a web-enabled mobile phone, a personal digital assistant (PDA), a set-top box device, or any combination thereof, that has access to the Internet and that is capable of executing an Internet browser application.
  • Additionally, the search system 704 may communicate with one or more external data systems 708, such as web sites, commercial databases, libraries, government sites, internal or private data sources, user-generated data (i.e. meta-data, user-tagged data, web logs (blogs), or other user-generated data), other data sources, or any combination thereof. Such external data systems 708 may include structured data (such as pre-processed data, database records, other structured data, or any combination thereof), semi-structured data (such as tagged data, e.g., hypertext markup language (HTML); extensible markup language (XML); formatted data; or any combination thereof), and unstructured data (such as text). In a particular illustrative embodiment, the structured data may include indexed data, such as data that is assembled using an automated software application, such as a spider, a “bot,” a software agent, or other software, which commonly is used by search engine applications to index data sources for later retrieval. The search system 704 can communicate via the network 706 with the user device 702, with the external data sources 708, and with other devices via a firewall 710, which provides security to the search system 704 to prevent undesired intrusions.
  • The search system 704 includes an interface 712 that is responsive to the network 706, processing logic 714 that is coupled to the interface 712, and memory 716 that is accessible to the processing logic 714. In a particular illustrative embodiment, the search system 704 may include multiple servers having separate processors and memory devices, which may cooperate to provide the search system 704. The memory 716 includes a data acquisition module 720, including an extract-transform-load (ETL) feature, which is executable by the processing logic 714 to acquire data from the external data systems 708 and to extract, transform and load the acquired data into one or more data stores, including document data storage 734. In a particular illustrative embodiment, the ETL feature of the data acquisition module 720 can identify missing information (such as missing fields, missing meta-data, garbled information, omitted data, or any combination thereof) and can make probabilistic determinations to assign values in lieu of the missing information. For example, in a particular illustrative embodiment, the data acquisition module 720 identifies missing assignee information associated with a particular patent and makes a probabilistic determination to extrapolate a likely assignee of the patent.
  • The memory 716 may also include a search module 722 having an ETL feature. The search module 722 can be executed by the processing logic 714 to receive a query, to generate queries to other search engines and to one or more of the other data sources 708, and to extract data from search results (using the ETL feature). In a particular illustrative embodiment, the search module 722 may include a query learner to monitor user interactions with search results, to receive user input related to relevance of selected search results, to determine a desired result based on the user input and the initial query, and to generate new queries based on determining the desired result.
  • The memory 716 may also include a data storage module 724 that is executable by the processing logic 714 to store retrieved data, metadata, statistics, other data, or any combination thereof. The data storage module 724 may also be adapted to store globally unique identifiers and associated relationships in one or more of a user data storage 732, a document data storage 734, a financial data storage 736, a classification information data storage 738, other data storage 740, or any combination thereof. The user data storage 732 can include user-provided tags (descriptions, meta-data, categories, or other information) related to documents or data associated with other stored information. The user data storage 732 can also include correlations to user-created data, such as spreadsheet data, table data, document data, web log (blog) data, other data, or any combination thereof.
  • The document data storage 734 can include meta-data about documents (e.g., ownership data, location data, authorship data, date information, classification data, publication/source data, relationship/reference data, embedded tags, other data, or any combination thereof). In a particular illustrative, non-limiting embodiment, the document data storage 734 can include data related to particular structured documents, such as patents, Published patent applications, and other structured documents. In such an instance, the document data storage 734 can include data related to the title, the inventors, the assignee, the priority data, the claims (e.g., number of claims, number of independent claims, claim terms, types of claims, other information, or any combination thereof), the Abstract (e.g., text of the abstract, keywords extracted from the abstract, a number of words in the Abstract, other information related to the abstract, or any combination thereof), the file history (e.g., whether claims were amended during prosecution, a list of cited references, links to file wrapper documents, other information, or any combination thereof), excerpts from the specification that relate to search terms, or any combination thereof. The document data storage 734 may also include various documents, such as Patents, journals, research papers, white papers, product documents, web sites (i.e. as a stored source file), articles, press releases, books, manuals, presentations, reports, sales information, any other document containing text, or any combination thereof.
  • In a particular illustrative embodiment, the financial data storage 736 can include revenues, profits, credit history, price-to-earnings (P/E) ratio, industry data for classification of tax records, Securities and Exchange Commission (SEC) reports, stock prices, stock trends, other financial data, or any combination thereof, which is related to each particular company. In another particular illustrative embodiment, the financial data storage 736 may also include financial data related to individuals, organizations, associations, other entities that have financial information, or any combination thereof. In still another particular illustrative embodiment, the financial data storage 736 can include other financial information that can be related to any category of interest.
  • In a particular illustrative embodiment, particular financial data may be added to the financial data storage 736 to provide customized data to a particular enterprise. The financial data storage 736 may also include information that is not financial, but that is related to an entity's structure, size, organization, or other information. For example, the financial data storage 736 may include employee records, number of employees, subsidiary information, corporate officer information, tax jurisdictions, governmental grants (such as a Small Business Innovative Research (SBIR) grants, Small Business Administration (SBA) loans, other governmental grants), press release data, contracts, and other data that is related to the financial data of a particular company, entity, individual, association, or enterprise. In another particular illustrative embodiment, the financial data storage 736 can include enterprise resource planning (ERP) data, sales data, customer relationship management (CRM) data, other enterprise data, or any combination thereof.
  • In a particular illustrative embodiment, the classification information data storage 738 can include multiple industry classifications and data related to those classifications. For example, the classification information data storage 738 can include a number of companies in each industry, a number of employees of each industry, average salaries of employees, revenues of companies, average revenues, average payroll, average number of companies per classification, other information, or any combination thereof. In a particular illustrative embodiment, the classification information data storage 738 can include location information, which may be summarized by region, state, city, zip code information, or any combination thereof. In a particular illustrative embodiment, the classification information data storage can include normalized classifications that are translated from North American Industry Classification System (NAICS) classifications, Standard Industry Classification (SIC) system classifications, United States Patent and Trademark Office classifications, international classification systems, legal classification systems, Reuter's classifications systems (news release categories), other news services classification systems, or any combination thereof. Additionally, the classification information system can include normalized translations that are translated from any industry-specific taxonomy, including medical indices, semiconductor industry classifications, consumer product classifications, other classifications, or any combination thereof. The classification data storage 738 also includes associations between classifications from various sources. In a particular illustrative embodiment, the classification data storage system 738 can include buyer information and supplier information that is related to a particular industry. In a particular illustrative embodiment, the classification data storage system 738 can include logic to translate or to integrate classifications from various classification systems to an intermediate classification system.
  • In a particular illustrative embodiment, other data storage 740 can include legal information, such as litigation-related data, including length of cases (start date and end date), decisions/outcomes of the cases, damages requested, damages granted, winners, actions of the cases (i.e. injunction, transfer, court-ordered royalties, other information), the plaintiffs, the defendants, the asserted intellectual property information, jurisdiction information, location information (of the parties, of the court, etc.), rates of settlement, dismissal, verdict, unknown, settlement, statistics, other data, or any combination thereof. The other data storage 740 can also include corporate legal department information, including licensing information, names of legal department contacts, other information, or any combination thereof. In a particular illustrative embodiment, the other data storage 740 can also include corporation data, Securities and Exchange Commission (SEC) filings (i.e. litigation information, including settlements, on-going litigation, and other litigation information extracted from the SEC filings), legislative information, other data, or any combination thereof. In another particular illustrative embodiment, the other data storage 740 can also include person information (i.e. telephone white pages, yellow pages, other people “find” features, or any combination thereof).
  • In a particular illustrative embodiment, the user data storage 732, the document data storage 734, the financial data storage 736, the classification information data storage 738, and the other data storage 740 may be stored at different servers, which may be in different geographic locations. In another particular embodiment, the user data storage 732, the document data storage 734, the financial data storage 736, the classification information data storage 738 and the other data storage 740 may be stored in a single data store, which may be accessible to one or more servers.
  • The memory 716 also includes an applications module 726 that is executable by the processing logic 714 to generate graphical maps, charts, dashboard elements, other visual representations or visualizations, or any combination thereof, for visual analysis of a data set, including search results, data derived from the search results, corporate data, industry data, document data, document statistics, other data, or any combination thereof. Additionally, the applications module 726 can be executed by the processing logic 714 to reverse engineer user queries, to track user interactions with search results, and to evaluate explicit user feedback to train a query learner application and a document learner application and to automatically generate new searches. Further, the applications module 726 can be executed by the processing logic 714 to analyze the search results, to apply rules derived from the document learner, to refine the search results, and to produce additional information about the search results.
  • The memory 716 also includes an operations and management module 728 that is executable by the processing logic 714 to manage subscriber accounts, to manage individual sessions, to generate alerts and other communications, and to control a user experience with the search system 704. In a particular embodiment, the memory 716 further includes a centralized classification module 730 to identify correlations between data stored at different data stores and to generate data related to such correlations, which data may be stored. Depending on the particular implementation, the memory 716 can also include other modules that can be executed by the processing logic 714, such as a graphical user interface (GUI) generator to generate a graphical user interface, including multiple selectable options.
  • In a particular illustrative embodiment, the search system 704 may provide a graphical user interface (GUI) that may be rendered within an Internet browser application of a remote computing device, such as the user device 702. The GUI may request a username and password, which can be entered via the user device 702 to access the search system 704. The search system 704 receives a username and password via the network 706, verifies the username and password using the operations and management module 728, and retrieves subscriber account information associated with the username and password. For example, the search system 704 may retrieve stored information, including search information, messages, stored analysis, and other information. The search system 704 may generate a GUI that includes selected portions of the stored information.
  • In a particular illustrative embodiment, the search system 704 can search structured data, semi-structured data, and unstructured data from one or more data sources, can merge search results from each of the data sources, and can provide the search results to the user via a GUI. In a particular embodiment, the processing logic 714 may execute the data acquisition module 720 to extract data from documents associated with the search results and to calculate statistics related to the documents. The processing logic 714 may access the search module 722 to generate queries based on the extracted data or user metadata (such as a role assigned to a particular user, e.g., an administrator role, a guest role, a user role, another role, or any combination thereof). The processing logic 714 performs a secondary search related to the extracted data or metadata. The search system 704 may augment the search results with results from the secondary search.
  • In a particular embodiment, the search system 704 can retrieve a globally unique identifier 733 from the unique identifier repository 703 via the network 706. The search system 704 can receive the globally unique identifier 733 and store the globally unique identifier 733 at the user data 732, the document data 734, the financial data 736, the classification data 738, and the other data 740. In a particular example, the globally unique identifier 733 can be stored in relation to an associated record, document, or other information to define a globally unique data identifier that can be used to retrieve and associate related data from the various data sources 732, 734, 736, 738, and 740. Further, when the globally unique identifier 733 is also stored at external data 742 of one or more external data systems 708, data retrieved from the external data 742 can be readily retrieved and correlated and/or joined with the data stored at the data stores 732, 734, 736, 738, and 740.
  • In a particular illustrative embodiment, the centralized classification module 730 can be used to correlate (join or relate) search results from multiple sources using the globally unique identifier 733. Retrieved search results can be joined via the centralized classification module 730 and presented via multi-dimensional visualizations using the applications module 726.
  • In a particular embodiment, the search system 704 can leverage the globally unique identifier 733 to retrieve and display search results. For example, a user at a user device 750 may submit a text string to the search system 704 via the network 706. The search system 704 uses the centralized classification module 730 to determine a globally unique identifier associated with the text string. If the globally unique identifier cannot be determined, the search system 704 can forward the text string to the central correlation server 702, which can retrieve the appropriate globally unique identifier 733 from the unique data repository 703 and return the globally unique identifier 733 to the search system 704. The search system 704 can then use the text string and/or the globally unique identifier 733 to retrieve and display the search results from multiple data sources.
  • FIG. 8 is a block diagram of a third particular illustrative embodiment of a system 800 to relate distributed data sources using distributed correlations. The system 800 includes a correlations system 802 that communicates with an enterprise system 810 via a network 812. The correlations system 802 and the enterprise system 810 can also communicate with external data systems 818 and remote devices 820 and 822 via the network 812.
  • The correlations system 802 includes a unique identifier (ID) repository 804 that stores mappings between text strings and globally unique identifiers. In a particular example, each globally unique identifier represents a single entity, person, place, product, or other piece of information, and multiple text strings can be related to a single globally unique identifier. Further, the unique ID repository 804 can also store data related to associations between globally unique identifiers. The correlations system 802 further includes identifier mapping logic 806 to receive a text string and to identify a statistically relevant mapping between the text string and a particular globally unique identifier within the unique ID repository 804. Further, the correlations system 802 includes a graphical user interface (GUI) generator 808 adapted to generate a GUI including user selectable indicators to allow a user to modify data and associations related to a particular globally unique identifier from the unique ID repository 804.
  • The enterprise system 810 includes an interface 824 that is coupled to the network 812. The enterprise system 810 further includes processing logic 826 coupled to the interface 824 and a memory 828 that is accessible to the processing logic 826. The memory 828 includes a plurality of modules or instructions that are executable by the processing logic 826. The memory 828 includes an operations and management systems module 834 adapted to manage access to enterprise system 810. The memory 828 further includes a search module including extract/transform/load (ETL) features 836 that is executable by the processing logic 826 to search multiple data sources and to extract, transform and store portions of the search results. The memory 828 also includes an applications module including visualizations 838 that is executable by the processing logic 826 to perform operations on search results and to display the search results in various graphs, charts, or other visualizations to assist a user in data analysis. The memory 828 also includes a data acquisition module 840 adapted to receive information and to provide the information to the search module 836 for performing ETL operations on the acquired information. The memory 828 may also include enterprise data 842 and distributed correlations data (globally unique identifiers) 846. In a particular example, the enterprise data 842 may be proprietary data, which is maintained by an enterprise. It may be desirable to leverage the proprietary data with publically or privately maintained data from external data system 818.
  • The memory 828 may also include an enterprise classifications module 844 that is executable by the processing logic 826 to classify search results and information and to associate information from various sources using context and globally unique identifiers from the distributed correlation data 846 to relate the search results.
  • In a particular embodiment, the enterprise system 810 can request and receive globally unique identifiers for particular information stored in the enterprise data 842. The enterprise classifications module 844 is adapted to associate the received globally unique identifiers with information already stored at the enterprise data 842. The enterprise system 810 can use the globally unique identifier in conjunction with the search module 836. In particular, a user can submit a text string to the enterprise system 810 to initiate a search for data. The enterprise system 810 can use the search module 836 to retrieve one or more globally unique identifiers associated with the text string either from the distributed correlation data 846 or from the unique identifier repository 804. The search module 836 can then to retrieve data associated with the one or more globally unique identifiers from multiple data sources. The enterprise system 810 can use the applications module 838 to join (correlate) search results from the multiple data sources using the globally unique identifier and to provide the correlated search results to the user via one or more visualizations included in a graphical user interface.
  • FIG. 9 is a block diagram of a fourth particular illustrative embodiment of a system 900 to relate distributed data sources using distributed correlations. The system 900 includes a centralized correlation system 902 that is coupled to a unique identifier (ID) repository 904. The centralized correlation system 902 is adapted communicate with first, second, and third enterprise systems 920, 922, and 924 via a network 914. The first enterprise system 920 includes a first database 930 and distributed correlations (globally unique identifiers) 940 from the centralized correlation system 902. The second enterprise system 922 includes a second database 932 and distributed correlations (globally unique identifiers) 942 from the centralized correlation system 902. The third enterprise system 924 includes a third database 934 and distributed correlations (globally unique identifiers) 944 from the centralized correlation system 902. In a particular embodiment, the distributed correlations 940, 942, and 944 can be stored in the first, second, and third databases 930, 932, and 934, respectively.
  • In a particular example, the distributed correlations 940, 942, and 944 may be identical. In another particular example, the distributed correlations 940, 942, and 944 may vary based on when a particular set of distributed correlations was last updated from the unique ID repository 904. Further, the particular distributed correlations 940 at the first enterprise system 920 may include globally unique identifiers associated with data at the first database 930, while the distributed correlations 942 at the second enterprise system 922 can include globally unique identifiers associated with data stored in the second database 932. Depending on the content of the first, second and third databases 930, 932, and 934, the associated distributed correlations 940, 942, and 944 may also vary.
  • In a particular embodiment, the globally unique identifier can be used to perform peer-to-peer data retrieval and to join search results retrieved from multiple data sources, such as the first, second and third databases 930, 932, and 934. It should be understood that the first, second, and third databases 930, 932 and 934 may be data sources other than databases, such as data files, tables, document storage, or other types of data sources. Further, it should be understood that the distributed correlations can be used to relate to various types of data, including structured, semi-structured, and unstructured (text) data.
  • FIG. 10 is a flow diagram of a particular illustrative embodiment of a method of distributing globally unique identifiers for searching multiple data sources and for correlating search results. At 1002, a text string is sent from a source device to a destination device, which has a unique identifier repository having a plurality of globally unique identifiers mapped text strings, relationship data defining associations between the plurality of globally unique identifiers, and meta-data related to the text string, where each of the plurality of globally unique identifiers includes a data value that is shared by a plurality of data sources as an identifier associated with information related to the text string. In a particular embodiment, the globally unique identifier is an American Standard Code for Information Interchange (ASCII) character string that is uniquely related (mapped) to a proper noun. In general, the destination device may be a central correlation server, a centralized globally unique identifier repository, a local database of identifiers, or any combination thereof. Additionally, the unique identifier repository can store relationships between globally unique identifiers to facilitate correlations.
  • Advancing to 1004, data is received that includes one or more globally unique identifiers, associated relationship data, and associated meta-data from the destination device at the source device in response to sending the text string. Moving to 1006, the received data are stored at a memory of the source device for use in searching and relating search results received from multiple data sources. In a particular embodiment, the memory of the source device comprises a random access memory (RAM), a buffer memory, another temporary storage, or any combination thereof. In another particular embodiment, the memory comprises a non-volatile memory, database, or other data storage device to which the source device has access. The method terminates at 1008.
  • In a particular embodiment, the method includes extracting the text string from a document at the source device and sending the extracted text string to the destination device. The method may also include associating the globally unique identifier with the document and storing the globally unique identifier and the document in the memory of the source device. In another particular embodiment, the method also includes searching multiple data sources using a query that is related to the globally unique identifier and joining results from multiple data sources using the globally unique identifier to correlate the results.
  • FIG. 11 is a flow diagram of a particular illustrative embodiment of a method of generating a globally unique identifier related to a received text string. At 1102, data is received at a centralized correlation system from a destination device, where the data is related to a data structure of a data source at the destination device. In a particular embodiment, the data is a text string that is extracted from a document at the data source. In another particular embodiment, the data is a schema or data structure related to a database or to a semi-structured data source such as a set of tagged documents.
  • Advancing to 1104, the data is extracted to identify a plurality of information, such as labels, tags, fields, other identifiers, or any combination thereof, as well as to identify proper nouns and other text strings. Continuing to 1106, the extracted data is compared to a plurality of centralized categories (globally unique identifiers) to identify matches and to map the plurality of categories of information from the extracted data to a plurality of centralized categories or globally unique identifiers. Proceeding to 1108, unmapped categories of the plurality of categories of information from the extracted data are processed to correlate the unmapped categories to one or more of the plurality of centralized categories or to automatically create new centralized categories when at least one of the unmapped categories cannot be mapped to one of the plurality of centralized categories. Continuing to 1110, distributed correlation data and optionally relationship data and/or meta-data are sent to the destination device, where the distributed correlation data includes a mapping of the plurality of categories of information from the extracted data to the plurality of centralized categories to facilitate a correlation of search results from one or more distributed data sources. The method terminates at 1112.
  • In a particular embodiment, a document or data source can be parsed to extract fields and associated data, and one or more globally unique identifiers can be retrieved from a unique identifier repository that are related to the extracted fields and associated data. In a particular example, globally unique identifiers and relationships between globally unique identifiers can be mapped to the extracted fields and associated data.
  • FIG. 12 is a flow diagram of a particular illustrative embodiment of a method of registering a globally unique identifier received from a source. At 1202, data related to a data structure of a data source are sent from the data source to a centralized correlation system, where the data structure includes a plurality of categories of information. In a particular embodiment, the plurality of categories of information includes multiple globally unique identifiers and relationship data defining associations between at least some of the multiple globally unique identifiers. Moving to 1204, distributed correlation data are received from the centralized correlation system, where the distributed correlation data includes a mapping of the plurality of categories to a normalized set of categories, such as a set of globally unique identifiers. In a particular example, the normalized set of categories represents mappings between the data and related globally unique identifiers as well as relationships between the globally unique identifiers. In a particular embodiment, the distributed correlation data includes at least one globally unique identifier, associated relationship data, and associated meta-data.
  • Advancing to 1206, a search of a data source is initiated using the data structure of the data source and a search of one or more other data sources using the distributed correlation data (i.e., at least one globally unique identifier). In a particular embodiment, the globally unique identifiers are utilized to search the data source and one or more other data sources. Continuing to 1208, search results are received from the data source and from the one or more other data sources. Proceeding to 1210, the search results from the data source and from the one or more other data sources are correlated to produce a correlated set of search results using at least one globally unique identifier. In a particular embodiment, the globally unique identifier can be used to relate data received from the various data sources. In a particular example, the search results constitute a data cube having an edge defined by at least one globally unique identifier.
  • Advancing to 1212, a user interface is provided to a destination device, where the user interface includes data related to the correlated set of search results. In a particular example, the data may be provided using an applications module or graphical user interface (GUI) generator that can present the search results in one or more formats, including a list of ranked search results, a graph, a chart, another type of visualization, or any combination thereof. The method terminates at 1214.
  • FIG. 13 is a flow diagram of a particular illustrative embodiment of a method of providing a user interface to a destination device based on search results retrieved from federated data sources and correlated using a globally unique identifier. At 1302, a query is received to search one or more data sources at a first device. Advancing to 1304, the query is parsed to identify the one or more data sources to be searched. Continuing to 1306, the first device communicates with the one or more data sources directly to retrieve results data related to the query using a distributed correlation mapping that is accepted by the one or more data sources. In a particular example, the distributed correlation mapping includes a first globally unique identifier associated with the query and one or more other globally unique identifiers having a relationship with the first globally unique identifier. The relationship may be determined from relationship data defining an association between globally unique identifiers. Each of the one or more data sources to be searched may include at least some of the globally unique identifiers from a central unique identifier repository.
  • Proceeding to 1308, the results data is correlated using the distributed correlation mapping to produce a set of correlated search results. In a particular example, the globally unique identifier and relationship data can be used to produce a data cube having an edge defined by at least one globally unique identifier. Further, the globally unique identifier and relationship data can be used to produce search results having multiple related dimensions, and the globally unique identifier and relationship data can be used to identify the relationships and to display the results. Continuing to 1310, a user interface is generated that includes data related to the set of correlated search results. The user interface may include one or more visualizations of the data, a list of search results, one or more user-selectable indicators for interacting with the data, or any combination thereof. In a particular embodiment, the data related to the set of search results includes globally unique identifiers, associated relationship data, and associated meta-data, which augment the search results in multiple dimensions for enriched data mining. Moving to 1312, the user interface is provided to a destination device. In a particular example, the destination device may include an Internet browser or another application in which the user interface may be rendered for display to a user. The method terminates at 1314.
  • FIG. 14 is a flow diagram of a particular illustrative embodiment of a method of determining a globally unique identifier from a unique identifier repository based on a text string or a data set. At 1402, data are received from a destination device at a search system, where the data is related to a set of categories and associated data of a first data store of the destination device. Continuing to 1404, the received data are correlated to a normalized data mapping for previously registered data values, where the normalized data mapping includes a plurality of unique identifiers mapped to a respective plurality of data values and where each data value is mapped to a unique identifier of the plurality of identifiers. In a particular embodiment, the data are normalized by expanding the data to include logical variations and synonyms, which can be searched within the plurality of identifiers to retrieve one or more globally unique identifiers.
  • Proceeding to 1406, new identifiers are automatically generated within the normalized data mapping for previously unregistered values. For example, after searching, if no globally unique identifier is found, a new globally unique identifier may be generated for the data, and an interface may be provided to allow a user, such as an operator, administer, or other user to supplement the record with association information. In a particular example, the interface may be a web-interface, such as a Wiki-type web-interface that allows any registered user to supplement a particular registered information item. Advancing to 1408, the normalized data mapping is distributed to the destination device. In a particular example, if the globally unique identifier is new, few if any relationship data may be available. However, over time, existing globally unique identifiers may have relationship data that defines associations between globally unique identifiers. In a particular embodiment, the globally unique identifier and associated relationship data may be provided to the destination device (such as a user device) in response to receiving a query. The method terminates at 1410.
  • FIG. 15 is a diagram of a particular illustrative embodiment of a graphical user interface 1500 including a plurality of user selectable indicators accessible to a user to access a correlated set of search results from distributed data sources. In general, the graphical user interface 1500 may be provided to a remote device to display correlated data, which data is correlated using at least one globally unique identifier. The graphical user interface 1500 includes a window 1502 that includes a text input 1504, and user selectable tabs, including a “maps” tab 1506, a “search” tab 1508, an “analysis” tab 1510, and “My Home” tab 1512. An “analysis” tab 1510 is selected and an analysis panel 1520 is displayed that includes a visualization associated with a set of search results is. The “analysis” tab panel 1520 includes user-selectable control panel 1524 that has multiple filters for adjusting the search results, for example using data limiters or by negating particular companies or classifications, thereby reducing the document space of the search results. The “analysis” tab panel 1520 further includes a landscape or visualization 1522 based on the search results. In this particular example, a document landscape is shown. Further, the “analysis” tab panel 1520 includes user-selectable indicators, such as the menu 1526, which may be used to switch between visualization. For example, the user may select “industry statistics” 1530, a “world map” 1532, “legal trends” 1534, or other options to alter visualizations based on the search results and to view dimensions related to the search results, which can be derived based on a globally unique identifier.
  • In a particular embodiment, in a patent database, the patent number may represent a globally unique identifier. Additionally, each inventor and each assignee may be assigned globally unique identifiers in order to relate inventors across multiple assignees and to derive relationships between various entities based on a found set of patents.
  • In a particular example, the graphical user interface 1500 includes user selectable elements, such as the tabs 1506, 1508, 1510, and 1512, the “apply filter” and “save filter” buttons, the menu 1526, the text box 1504, and other user selectable elements. Further, the graphical user interface 1500 includes data related to a set of search results, including data dimensions that may be derived from data retrieved using globally unique identifiers, relationships between globally unique identifiers, and associated meta-data. In particular, the industry statistics menu item 1530 can be used to access statistical data related to industries identified in the set of search results, which statistical data may be associated with the search results based on embedded meta-data or based on relationships between globally unique identifiers associated with information items within the set of search results. Thus, the particular menu options and the associated information may be dynamically assembled and correlated with the search results, for multi-dimensional data retrieval.
  • FIG. 16 is a diagram of a particular illustrative embodiment of a graphical user interface 1600 including a plurality of user selectable indicators accessible to a user to modify mappings between text strings and globally unique identifiers stored in the unique identifier repository. In a particular embodiment, the graphical user interface 1600 may be accessible only to authorized users via user name and password authentication. The graphical user interface 1600 includes a window 1602 having a navigation portion 1604, a record identification portion 1606, and an editing portion 1608. The navigation portion 1604 includes a plurality of user-selectable indicators, including a select different identifier button 1610 to select a different globally unique identifier for editing. Further, the navigation portion 1604 includes a select create new identifier button 1612 that can used to create a new globally unique identifier for a piece of information. The navigation portion 1604 also includes a logout button 1614 that allows a user to exit a session.
  • The editing portion 1608 includes user- selectable elements 1616, 1618, and 1620 to allow a user to edit associations and related information, such as synonyms for the particular company, people related to the particular company, products related to the particular company, and so on. Further, the editing portion 1608 includes at least one user-selectable element 1622 to allow a user to edit meta-data associated with the selected globally unique identifier shown in the record identification portion 1606. The editing portion 1608 further includes additional user-selectable indicators, including an edit button 1624 to edit information contained in the record, a save button 1626 to save changes to the information, and a cancel button 1628 to exit an edit mode without saving changes. In a particular example, the graphical user interface 1602 can be used with a collection of Internet pages that will allow for public access and editing of the records, such as a WIKI-type content source.
  • In general, the graphical user interface 1600 may be accessed by users to updated and modify associated relationships and meta-data associated with a particular globally unique identifier. In a particular example, the graphical user interface 1600 may be accessible to the general public, similar to a WIKI-type web site to allow users to supplement available information related to the globally unique identifier. In another embodiment, the graphical user interface 1600 may be accessible only to authorized users.
  • In conjunction with the systems, methods and interfaces described above with respect to FIGS. 1-16, a system is disclosed to create, store and share globally unique identifiers that can be used to retrieve and join (correlate) information retrieved from multiple data sources. In a particular example, the system operates as a central clearinghouse for globally unique identifiers so that the globally unique identifier can be registered to guarantee uniqueness across a known space. Further, the globally unique identifier can have large number of bits, such as 128-bits or more to statistically ensure uniqueness over a large domain of information. By using a globally unique identifier, search results can be rendered more accurate across multiple data sources and the resulting information can be more readily joined to allow for multi-dimensional analysis and presentation of such search results.
  • Although the present invention has been described with reference to preferred embodiments, workers skilled in the art will recognize that changes may be made in form and detail without departing from the spirit and scope of the invention.

Claims (21)

1. A method comprising:
sending a text string from a source device to a destination device, the destination device having a unique identifier repository including a plurality of globally unique identifiers mapped text strings, relationship data defining associations between the plurality of globally unique identifiers, and meta-data related to the text string, each of the plurality of globally unique identifiers comprising a data value that is shared by a plurality of data sources as an identifier associated with information related to the text string;
receiving data including one or more globally unique identifier, associated relationship data, and associated meta-data from the destination device at the source device in response to sending the text string; and
storing the received data at a memory of the source device for use in searching and relating search results received from multiple data sources.
2. The method of claim 1, wherein the globally unique identifier comprises a character string that is uniquely related to a proper noun.
3. The method of claim 1, further comprising extracting the text string from a document or record at the source device.
4. The method of claim 3, wherein storing the globally unique identifier comprises:
associating each of the one or more globally unique identifiers with at least one data item within the document or record; and
storing the associated one or more globally unique identifiers and in the memory of the source device.
5. The method of claim 1, wherein storing the received data comprises associating each of the one or more globally unique identifiers with at least one data item at the source device.
6. The method of claim 1, further comprising searching multiple data sources using a query that is related to at least one of the one or more globally unique identifiers.
7. The method of claim 1, further comprising joining results from multiple data sources using the globally unique identifier to correlate the results.
8. A system comprising:
an interface responsive to a network;
a unique identifier repository adapted to store mappings between text strings and globally unique identifiers, to store relationship data defining associations between globally unique identifiers, and to store meta-data associated with the text strings, each globally unique identifier comprising a single value that is used as an index by a plurality of data sources to identify particular information; and
processing logic having access to the unique identifier repository, the processing logic adapted to receive a text string from a source device via the network, to identify at least one globally unique identifier related to the text string at the unique identifier repository, and to send the at least one globally unique identifier, associated relationship data, and associated meta-data to the source device via the network, the globally unique identifier and associated relationship data for storage at the source device.
9. The system of claim 8, wherein each globally unique identifier uniquely represents a proper noun.
10. The system of claim 8, wherein the text string comprises a data set, and wherein the processing logic is adapted to provide a particular global unique identifier, associated relationship data, and associated meta-data for each unique value within the text string.
11. The system of claim 8, wherein the processing logic is adapted to send the globally unique identifier, the associated relationship, and the associated meta-data in a format corresponding to one of a text format and an extensible markup language (XML) format.
12. The system of claim 8, further comprising a graphical user interface (GUI) generator to provide a GUI to a destination device, the GUI including user selectable indicators to retrieve information related to a particular globally unique identifier from the unique identifier repository, to modify associated relationship data, associated meta-data, or any combination thereof, and to store the modified relationship data and the modified meta-data at the unique identifier repository.
13. The system of claim 12, wherein the destination device comprises the source device.
14. The system of claim 8, wherein the processing logic includes an analysis module adapted to identify variations and synonyms related to the text string and to determine the globally unique identifier based on at least one of the text string, the identified variations, and the identified synonyms.
15. The system of claim 8, wherein the processing logic includes correlation logic adapted to automatically define relationships between the plurality of globally unique identifiers based on associated meta-data.
16. A system comprising:
a unique identifier repository adapted to store mappings between data strings and globally unique identifiers, to store relationship data representing associations between globally unique identifiers, and to store associated meta-data, each of the plurality of globally unique identifiers comprising a data value that is shared by a plurality of data sources as an identifier associated with information related to the text string;
processing logic having access to the unique identifier repository; and
memory accessible to the processing logic, the memory including instructions that are executable by the processing logic to receive a text string from a source device, to infer an association between the text string and a globally unique identifier from the unique identifier repository, and to send the globally unique identifier, associated relationship data, and associated meta-data to the source device for storage at a memory associated with the source device.
17. The system of claim 16, further comprising:
search instructions executable by the processing logic to receive a search string including at least one globally unique identifier, to parse the search string to extract the at least one globally unique identifier, to retrieve relationship data and meta-data related to the at least one globally unique identifier, and to retrieve search results related to the search string, the at least one globally unique identifier, and the relationship data from the plurality of data sources;
an applications module adapted to join the search results from the plurality of data sources based on the at least one globally unique identifier and the relationship data and to supplement the search results with the meta-data; and
graphical user interface (GUI) generation instructions executable by the processing logic to produce a GUI including one or more user selectable indicators, the joined search results, and the meta-data.
18. The system of claim 17, wherein the applications module is further adapted to derive associations between particular search results based on one or more dimensions or attributes of the search results.
19. The system of claim 16, further comprising a graphical user interface (GUI) generator adapted to provide a GUI including one or more user selectable indicators to allow a user to retrieve a globally unique identifier, to modify associated relationship data and associated meta-data, and to store the modified relationship data and the modified meta-data within the unique identifier repository.
20. The system of claim 16, wherein the memory further includes instructions executable by the processing logic to assign a new globally unique identifier to the text string when the text string is not related to an existing mapping within the unique identifier repository, to infer associations between the text string and other data from one or more data sources, to create associations between the new globally unique identifier and other globally unique identifiers within the unique identifier repository, and to store the received text string, the new globally unique identifier and associated relationship data related to the created associations in the unique identifier repository.
21. The system of claim 20, wherein the processing logic is adapted to send the new globally unique identifier and the created associations to the source device for storage at the memory associated with the source device.
US12/189,311 2008-08-11 2008-08-11 System and method of applying globally unique identifiers to relate distributed data sources Active 2030-02-23 US9727628B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US12/189,311 US9727628B2 (en) 2008-08-11 2008-08-11 System and method of applying globally unique identifiers to relate distributed data sources
US15/670,635 US20180060410A1 (en) 2008-08-11 2017-08-07 System and method of applying globally unique identifiers to relate distributed data sources

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/189,311 US9727628B2 (en) 2008-08-11 2008-08-11 System and method of applying globally unique identifiers to relate distributed data sources

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US15/670,635 Continuation US20180060410A1 (en) 2008-08-11 2017-08-07 System and method of applying globally unique identifiers to relate distributed data sources

Publications (2)

Publication Number Publication Date
US20100037161A1 true US20100037161A1 (en) 2010-02-11
US9727628B2 US9727628B2 (en) 2017-08-08

Family

ID=41654070

Family Applications (2)

Application Number Title Priority Date Filing Date
US12/189,311 Active 2030-02-23 US9727628B2 (en) 2008-08-11 2008-08-11 System and method of applying globally unique identifiers to relate distributed data sources
US15/670,635 Abandoned US20180060410A1 (en) 2008-08-11 2017-08-07 System and method of applying globally unique identifiers to relate distributed data sources

Family Applications After (1)

Application Number Title Priority Date Filing Date
US15/670,635 Abandoned US20180060410A1 (en) 2008-08-11 2017-08-07 System and method of applying globally unique identifiers to relate distributed data sources

Country Status (1)

Country Link
US (2) US9727628B2 (en)

Cited By (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090281997A1 (en) * 2006-07-25 2009-11-12 Pankaj Jain Method and a system for searching information using information device
US20100057707A1 (en) * 2008-09-03 2010-03-04 Microsoft Corporation Query-oriented message characterization
US20100169334A1 (en) * 2008-12-30 2010-07-01 Microsoft Corporation Peer-to-peer web search using tagged resources
US20100250340A1 (en) * 2009-03-24 2010-09-30 Ip Street, Inc. Processing and Presenting Intellectual Property and Other Information
US20100257273A1 (en) * 2007-11-13 2010-10-07 Jari Mutikainen Method, Apparatus and Program Product for Merging Communication Sessions in an IMS
US20100262512A1 (en) * 2009-04-13 2010-10-14 Ip Street, Inc. Processing and Presenting Intellectual Property and Other Information
US7895104B1 (en) 2007-10-04 2011-02-22 Ip Street Inc. Presentation and analysis of docket information and financial information
US20130024615A1 (en) * 2011-07-20 2013-01-24 Simplivity Corporation Method and apparatus for differentiated data placement
US20130047196A1 (en) * 2011-08-18 2013-02-21 Yu Gong Transitive closure security
US8423575B1 (en) 2011-09-29 2013-04-16 International Business Machines Corporation Presenting information from heterogeneous and distributed data sources with real time updates
US8438199B1 (en) * 2009-09-10 2013-05-07 Bentley Systems, Incorporated System and method for identifying and highlighting a graphic element
US20130212099A1 (en) * 2010-10-21 2013-08-15 Richard R. Dellinger Searching Multiple Data Sources Using a Mobile Computing Device
US20140122491A1 (en) * 2011-06-03 2014-05-01 Gdial Inc. Systems and methods for authenticating and aiding in indexing of and searching for electronic files
US20140188790A1 (en) * 2012-12-27 2014-07-03 Dropbox, Inc. Globally unique identifiers in an online content management system
US20140189118A1 (en) * 2012-12-27 2014-07-03 Dropbox, Inc. Maintaining consistent globally unique identifiers via an asynchronous interface
CN103970880A (en) * 2014-05-17 2014-08-06 白崇明 Distributed multi-point data extraction method
US20150199645A1 (en) * 2014-01-15 2015-07-16 Bank Of America Corporation Customer Profile View of Consolidated Customer Attributes
KR20150118963A (en) * 2013-02-14 2015-10-23 아브 이니티오 테크놀로지 엘엘시 Queue monitoring and visualization
US20160055228A1 (en) * 2011-08-31 2016-02-25 Z124 Rules based hierarchical data virtualization
US20160098417A1 (en) * 2011-07-13 2016-04-07 Z124 Virtual file system remote search
US9423922B2 (en) 2013-12-24 2016-08-23 Dropbox, Inc. Systems and methods for creating shared virtual spaces
US9460158B2 (en) 2009-11-12 2016-10-04 Alibaba Group Holding Limited Search method and system
US9544373B2 (en) 2013-12-24 2017-01-10 Dropbox, Inc. Systems and methods for maintaining local virtual states pending server-side storage across multiple devices and users and intermittent network connections
US9584324B2 (en) 2014-01-13 2017-02-28 Sap Se Centralized datastore password management
US20170076004A1 (en) * 2011-01-28 2017-03-16 The Dun & Bradstreet Corporation Inventory data access layer
US20170205815A1 (en) * 2016-01-18 2017-07-20 GM Global Technology Operations LLC Automated stochastic method for feature discovery and use of the same in a repeatable process
US9852183B2 (en) 2012-04-26 2017-12-26 Alibaba Group Holding Limited Information providing method and system
US9928266B2 (en) 2016-06-03 2018-03-27 Workiva Inc. Method and computing device for minimizing accesses to data storage in conjunction with maintaining a B-tree
US20180165330A1 (en) * 2016-12-08 2018-06-14 Sap Se Automatic generation of structured queries from natural language input
US10042932B2 (en) * 2013-03-29 2018-08-07 International Business Machines Corporation Analytics based on pipes programming model
US10067652B2 (en) 2013-12-24 2018-09-04 Dropbox, Inc. Providing access to a cloud based content management system on a mobile device
US10402759B2 (en) * 2015-01-22 2019-09-03 Visier Solutions, Inc. Systems and methods of adding and reconciling dimension members
CN111353275A (en) * 2018-12-21 2020-06-30 北京宸信征信有限公司 Unique identifier of distributed system and generation method thereof
CN112395313A (en) * 2019-08-16 2021-02-23 阿里巴巴集团控股有限公司 Global sequence generation method and device, electronic equipment and computer storage medium
CN112597159A (en) * 2020-12-22 2021-04-02 深圳集智数字科技有限公司 Method and device for maintaining unique user identification information
US20220060433A1 (en) * 2014-05-27 2022-02-24 Magnet Forensics Investco Inc. Systems and methods for locating application-specific data on a remote endpoint computer
US11636408B2 (en) 2015-01-22 2023-04-25 Visier Solutions, Inc. Techniques for manipulating and rearranging presentation of workforce data in accordance with different data-prediction scenarios available within a graphical user interface (GUI) of a computer system, and an apparatus and hardware memory implementing the techniques

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10671491B2 (en) 2013-11-01 2020-06-02 Micro Focus Llc Asset browsing and restoration over a network using pre-staging and directory storage
WO2015065470A1 (en) * 2013-11-01 2015-05-07 Longsand Limited Asset browsing and restoration over a network using on demand staging
US9922201B2 (en) 2015-04-01 2018-03-20 Dropbox, Inc. Nested namespaces for selective content sharing
US10963430B2 (en) 2015-04-01 2021-03-30 Dropbox, Inc. Shared workspaces with selective content item synchronization
US9479567B1 (en) 2015-10-29 2016-10-25 Dropbox, Inc. Synchronization protocol for multi-premises hosting of digital content items
CN108846026A (en) * 2018-05-24 2018-11-20 威海职业学院 A method of dispersion document interconnection is subjected to distributed management
US10942926B2 (en) * 2018-09-05 2021-03-09 Sap Se Identification, and query, of semantically-related database tables
US11290531B2 (en) 2019-12-04 2022-03-29 Dropbox, Inc. Immediate cloud content item creation from local file system interface

Citations (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5644740A (en) * 1992-12-02 1997-07-01 Hitachi, Ltd. Method and apparatus for displaying items of information organized in a hierarchical structure
US20020073075A1 (en) * 2000-12-07 2002-06-13 Ibm Corporation Method and system for augmenting web-indexed search engine results with peer-to-peer search results
US20020091707A1 (en) * 2000-06-10 2002-07-11 International Business Machines Corporation Automatic determination of OLAP cube dimensions
US20020103705A1 (en) * 2000-12-06 2002-08-01 Forecourt Communication Group Method and apparatus for using prior purchases to select activities to present to a customer
US20020126545A1 (en) * 2000-06-29 2002-09-12 Warren Christina E. Caching scheme for multi-dimensional data
US20030046365A1 (en) * 2001-09-04 2003-03-06 Schlumberger Technology Corporation System and method for caching content
US20030046307A1 (en) * 1997-06-02 2003-03-06 Rivette Kevin G. Using hyperbolic trees to visualize data generated by patent-centric and group-oriented data processing
US20030110272A1 (en) * 2001-12-11 2003-06-12 Du Castel Bertrand System and method for filtering content
US20030125898A1 (en) * 2001-08-31 2003-07-03 Stark Donald Wilson Customizable and extendable data processing architecture for a data acquisition instrument
US20030167253A1 (en) * 2002-03-04 2003-09-04 Kelly Meinig Method and system for identification and maintenance of families of data records
US20030191766A1 (en) * 2003-03-20 2003-10-09 Gregory Elin Method and system for associating visual information with textual information
US20040034616A1 (en) * 2002-04-26 2004-02-19 Andrew Witkowski Using relational structures to create and support a cube within a relational database system
US6728697B2 (en) * 2000-12-29 2004-04-27 Cognos Incorporated Partial delegation of complex OLAP queries with application to zero suppression condition evaluation
US6741743B2 (en) * 1998-07-31 2004-05-25 Prc. Inc. Imaged document optical correlation and conversion system
US20050102271A1 (en) * 2003-08-01 2005-05-12 Gavin Robertson Indexes with embedded data
US20050103871A1 (en) * 2000-06-21 2005-05-19 Microsoft Corporation Serial storage of ink and its properties
US20050149538A1 (en) * 2003-11-20 2005-07-07 Sadanand Singh Systems and methods for creating and publishing relational data bases
US6934710B1 (en) * 2002-05-02 2005-08-23 Palmsource, Inc. Generating coherent global identifiers for efficient data identification
US20050289158A1 (en) * 2004-06-25 2005-12-29 Jochen Weiss Identifier attributes for product data stored in an electronic database
US20060106859A1 (en) * 2004-11-15 2006-05-18 Cherny Eugene Accelerated system and methods for synchronizing, managing and publishing business information
US20060117377A1 (en) * 2004-12-01 2006-06-01 Mobilegov France, S.A.R.L. Process for securing the access to the resources of an information handling system (I.H.S.)
US20060149767A1 (en) * 2004-12-30 2006-07-06 Uwe Kindsvogel Searching for data objects
US20060200480A1 (en) * 2005-03-01 2006-09-07 Harris David N System and method for using product identifiers
US20060248045A1 (en) * 2003-07-22 2006-11-02 Kinor Technologies Inc. Information access using ontologies
US20070019648A1 (en) * 2005-07-20 2007-01-25 Newisys, Inc. Synthesis of global transaction tags
US7171427B2 (en) * 2002-04-26 2007-01-30 Oracle International Corporation Methods of navigating a cube that is implemented as a relational object
US20070078832A1 (en) * 2005-09-30 2007-04-05 Yahoo! Inc. Method and system for using smart tags and a recommendation engine using smart tags
US20070162350A1 (en) * 2005-11-23 2007-07-12 Friedman Paul R Method and apparatus for retrieving remote data based on local indicia
US7251665B1 (en) * 2000-05-03 2007-07-31 Yahoo! Inc. Determining a known character string equivalent to a query string
US20070192855A1 (en) * 2006-01-18 2007-08-16 Microsoft Corporation Finding phishing sites
US7269823B2 (en) * 2001-11-29 2007-09-11 Microsoft Corporation System and method for identifying namespaces
US20070220027A1 (en) * 2006-03-17 2007-09-20 Microsoft Corporation Set-based data importation into an enterprise resource planning system
US20070239697A1 (en) * 2006-03-30 2007-10-11 Microsoft Corporation Extracting semantic attributes
US20070260620A1 (en) * 2006-05-05 2007-11-08 Lockheed Martin Corporation System and method for immutably storing electronic assets in a large-scale computer system
US7302423B2 (en) * 2000-02-25 2007-11-27 Pedestrain Concepts Llc Search-on-the-fly with merge function
US20070276928A1 (en) * 1999-05-19 2007-11-29 Rhoads Geoffrey B Methods and Devices Employing Content Identifiers
US20080005086A1 (en) * 2006-05-17 2008-01-03 Moore James F Certificate-based search
US20080010319A1 (en) * 2006-07-06 2008-01-10 Dominique Vonarburg Generic content collection systems
US7333982B2 (en) * 2000-02-28 2008-02-19 Hyperroll Israel, Ltd. Information system having a mode of operation in which queries form one or more clients are serviced using aggregated data retrieved from a plurality of different types of data storage structures for improved query performance
US7349897B2 (en) * 2004-03-08 2008-03-25 Microsoft Corporation Structured indexes on results of function applications over data
US7356541B1 (en) * 1999-10-29 2008-04-08 Computer Sciences Corporation Processing business data using user-configured keys
US20080148339A1 (en) * 2006-10-30 2008-06-19 Microsoft Corporation Group policy for unique class identifier devices
US7392248B2 (en) * 1999-08-04 2008-06-24 Hyperroll Israel, Ltd. Data aggregation server supporting rapid query response with sparse multi-dimensional data
US20080172360A1 (en) * 2007-01-17 2008-07-17 Lipyeow Lim Querying data and an associated ontology in a database management system
US20080244429A1 (en) * 2007-03-30 2008-10-02 Tyron Jerrod Stading System and method of presenting search results
US20080288516A1 (en) * 2007-05-17 2008-11-20 Hadfield Marc C Universal meme identification
US7555447B2 (en) * 2000-09-26 2009-06-30 I2 Technologies Us, Inc. System and method for identifying a product
US7630986B1 (en) * 1999-10-27 2009-12-08 Pinpoint, Incorporated Secure data interchange
US7788125B2 (en) * 2005-05-18 2010-08-31 Catalina Marketing Corporation Data structure and architecture for processing transaction data
US7925444B2 (en) * 2004-01-16 2011-04-12 Board Of Trustees Of Michigan State University Systems and methods for resolving ambiguity between names and entities
US8583592B2 (en) * 2007-03-30 2013-11-12 Innography, Inc. System and methods of searching data sources

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7472127B2 (en) * 2002-12-18 2008-12-30 International Business Machines Corporation Methods to identify related data in a multidimensional database
US8386461B2 (en) * 2008-06-16 2013-02-26 Qualcomm Incorporated Method and apparatus for generating hash mnemonics

Patent Citations (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5644740A (en) * 1992-12-02 1997-07-01 Hitachi, Ltd. Method and apparatus for displaying items of information organized in a hierarchical structure
US20030046307A1 (en) * 1997-06-02 2003-03-06 Rivette Kevin G. Using hyperbolic trees to visualize data generated by patent-centric and group-oriented data processing
US6741743B2 (en) * 1998-07-31 2004-05-25 Prc. Inc. Imaged document optical correlation and conversion system
US20070276928A1 (en) * 1999-05-19 2007-11-29 Rhoads Geoffrey B Methods and Devices Employing Content Identifiers
US7392248B2 (en) * 1999-08-04 2008-06-24 Hyperroll Israel, Ltd. Data aggregation server supporting rapid query response with sparse multi-dimensional data
US7630986B1 (en) * 1999-10-27 2009-12-08 Pinpoint, Incorporated Secure data interchange
US7356541B1 (en) * 1999-10-29 2008-04-08 Computer Sciences Corporation Processing business data using user-configured keys
US7302423B2 (en) * 2000-02-25 2007-11-27 Pedestrain Concepts Llc Search-on-the-fly with merge function
US7333982B2 (en) * 2000-02-28 2008-02-19 Hyperroll Israel, Ltd. Information system having a mode of operation in which queries form one or more clients are serviced using aggregated data retrieved from a plurality of different types of data storage structures for improved query performance
US7251665B1 (en) * 2000-05-03 2007-07-31 Yahoo! Inc. Determining a known character string equivalent to a query string
US20020091707A1 (en) * 2000-06-10 2002-07-11 International Business Machines Corporation Automatic determination of OLAP cube dimensions
US20050103871A1 (en) * 2000-06-21 2005-05-19 Microsoft Corporation Serial storage of ink and its properties
US20020126545A1 (en) * 2000-06-29 2002-09-12 Warren Christina E. Caching scheme for multi-dimensional data
US7555447B2 (en) * 2000-09-26 2009-06-30 I2 Technologies Us, Inc. System and method for identifying a product
US20020103705A1 (en) * 2000-12-06 2002-08-01 Forecourt Communication Group Method and apparatus for using prior purchases to select activities to present to a customer
US20020073075A1 (en) * 2000-12-07 2002-06-13 Ibm Corporation Method and system for augmenting web-indexed search engine results with peer-to-peer search results
US6728697B2 (en) * 2000-12-29 2004-04-27 Cognos Incorporated Partial delegation of complex OLAP queries with application to zero suppression condition evaluation
US20030125898A1 (en) * 2001-08-31 2003-07-03 Stark Donald Wilson Customizable and extendable data processing architecture for a data acquisition instrument
US20030046365A1 (en) * 2001-09-04 2003-03-06 Schlumberger Technology Corporation System and method for caching content
US7269823B2 (en) * 2001-11-29 2007-09-11 Microsoft Corporation System and method for identifying namespaces
US20030110272A1 (en) * 2001-12-11 2003-06-12 Du Castel Bertrand System and method for filtering content
US20030167253A1 (en) * 2002-03-04 2003-09-04 Kelly Meinig Method and system for identification and maintenance of families of data records
US7171427B2 (en) * 2002-04-26 2007-01-30 Oracle International Corporation Methods of navigating a cube that is implemented as a relational object
US20040034616A1 (en) * 2002-04-26 2004-02-19 Andrew Witkowski Using relational structures to create and support a cube within a relational database system
US6934710B1 (en) * 2002-05-02 2005-08-23 Palmsource, Inc. Generating coherent global identifiers for efficient data identification
US20030191766A1 (en) * 2003-03-20 2003-10-09 Gregory Elin Method and system for associating visual information with textual information
US20060248045A1 (en) * 2003-07-22 2006-11-02 Kinor Technologies Inc. Information access using ontologies
US20050102271A1 (en) * 2003-08-01 2005-05-12 Gavin Robertson Indexes with embedded data
US20050149538A1 (en) * 2003-11-20 2005-07-07 Sadanand Singh Systems and methods for creating and publishing relational data bases
US7925444B2 (en) * 2004-01-16 2011-04-12 Board Of Trustees Of Michigan State University Systems and methods for resolving ambiguity between names and entities
US7349897B2 (en) * 2004-03-08 2008-03-25 Microsoft Corporation Structured indexes on results of function applications over data
US20050289158A1 (en) * 2004-06-25 2005-12-29 Jochen Weiss Identifier attributes for product data stored in an electronic database
US20060106859A1 (en) * 2004-11-15 2006-05-18 Cherny Eugene Accelerated system and methods for synchronizing, managing and publishing business information
US20060117377A1 (en) * 2004-12-01 2006-06-01 Mobilegov France, S.A.R.L. Process for securing the access to the resources of an information handling system (I.H.S.)
US20060149767A1 (en) * 2004-12-30 2006-07-06 Uwe Kindsvogel Searching for data objects
US20060200480A1 (en) * 2005-03-01 2006-09-07 Harris David N System and method for using product identifiers
US7788125B2 (en) * 2005-05-18 2010-08-31 Catalina Marketing Corporation Data structure and architecture for processing transaction data
US20070019648A1 (en) * 2005-07-20 2007-01-25 Newisys, Inc. Synthesis of global transaction tags
US20070078832A1 (en) * 2005-09-30 2007-04-05 Yahoo! Inc. Method and system for using smart tags and a recommendation engine using smart tags
US20070162350A1 (en) * 2005-11-23 2007-07-12 Friedman Paul R Method and apparatus for retrieving remote data based on local indicia
US20070192855A1 (en) * 2006-01-18 2007-08-16 Microsoft Corporation Finding phishing sites
US20070220027A1 (en) * 2006-03-17 2007-09-20 Microsoft Corporation Set-based data importation into an enterprise resource planning system
US20070239697A1 (en) * 2006-03-30 2007-10-11 Microsoft Corporation Extracting semantic attributes
US20070260621A1 (en) * 2006-05-05 2007-11-08 Lockheed Martin Corporation System and method for an immutable identification scheme in a large-scale computer system
US20070260620A1 (en) * 2006-05-05 2007-11-08 Lockheed Martin Corporation System and method for immutably storing electronic assets in a large-scale computer system
US7783596B2 (en) * 2006-05-05 2010-08-24 Lockheed Martin Corporation System and method for an immutable identification scheme in a large-scale computer system
US20080005194A1 (en) * 2006-05-05 2008-01-03 Lockheed Martin Corporation System and method for immutably cataloging and storing electronic assets in a large scale computer system
US20080005086A1 (en) * 2006-05-17 2008-01-03 Moore James F Certificate-based search
US20080010319A1 (en) * 2006-07-06 2008-01-10 Dominique Vonarburg Generic content collection systems
US20080148339A1 (en) * 2006-10-30 2008-06-19 Microsoft Corporation Group policy for unique class identifier devices
US20080172360A1 (en) * 2007-01-17 2008-07-17 Lipyeow Lim Querying data and an associated ontology in a database management system
US20080244429A1 (en) * 2007-03-30 2008-10-02 Tyron Jerrod Stading System and method of presenting search results
US8583592B2 (en) * 2007-03-30 2013-11-12 Innography, Inc. System and methods of searching data sources
US20080288516A1 (en) * 2007-05-17 2008-11-20 Hadfield Marc C Universal meme identification

Cited By (70)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090281997A1 (en) * 2006-07-25 2009-11-12 Pankaj Jain Method and a system for searching information using information device
US8266131B2 (en) * 2006-07-25 2012-09-11 Pankaj Jain Method and a system for searching information using information device
US7895104B1 (en) 2007-10-04 2011-02-22 Ip Street Inc. Presentation and analysis of docket information and financial information
US20110145120A1 (en) * 2007-10-04 2011-06-16 Ip Street, Inc. Presentation and Analysis of Docket Information and Financial Information
US8606671B2 (en) 2007-10-04 2013-12-10 Ip Street, Inc. Presentation and analysis of docket information and financial information
US20100257273A1 (en) * 2007-11-13 2010-10-07 Jari Mutikainen Method, Apparatus and Program Product for Merging Communication Sessions in an IMS
US9026663B2 (en) * 2007-11-13 2015-05-05 Cellular Communications Equipment Llc Method, apparatus and program product for merging communication sessions in an IMS
US9906565B2 (en) 2007-11-13 2018-02-27 Cellular Communications Equipment Llc Method, apparatus and program product for merging communication sessions in an IMS
US20100057707A1 (en) * 2008-09-03 2010-03-04 Microsoft Corporation Query-oriented message characterization
US8898144B2 (en) * 2008-09-03 2014-11-25 Microsoft Corporation Query-oriented message characterization
US8473455B2 (en) * 2008-09-03 2013-06-25 Microsoft Corporation Query-oriented message characterization
US20130282655A1 (en) * 2008-09-03 2013-10-24 Microsoft Corporation Query-oriented message characterization
US20100169334A1 (en) * 2008-12-30 2010-07-01 Microsoft Corporation Peer-to-peer web search using tagged resources
US8583682B2 (en) * 2008-12-30 2013-11-12 Microsoft Corporation Peer-to-peer web search using tagged resources
US20100250340A1 (en) * 2009-03-24 2010-09-30 Ip Street, Inc. Processing and Presenting Intellectual Property and Other Information
US20100262512A1 (en) * 2009-04-13 2010-10-14 Ip Street, Inc. Processing and Presenting Intellectual Property and Other Information
US8438199B1 (en) * 2009-09-10 2013-05-07 Bentley Systems, Incorporated System and method for identifying and highlighting a graphic element
US9870408B2 (en) 2009-11-12 2018-01-16 Alibaba Group Holding Limited Search method and system
US9460158B2 (en) 2009-11-12 2016-10-04 Alibaba Group Holding Limited Search method and system
US20130212099A1 (en) * 2010-10-21 2013-08-15 Richard R. Dellinger Searching Multiple Data Sources Using a Mobile Computing Device
US10762147B2 (en) * 2011-01-28 2020-09-01 D&B Business Information Solutions, U.C. Inventory data access layer
US20170076004A1 (en) * 2011-01-28 2017-03-16 The Dun & Bradstreet Corporation Inventory data access layer
US20140122491A1 (en) * 2011-06-03 2014-05-01 Gdial Inc. Systems and methods for authenticating and aiding in indexing of and searching for electronic files
US9465858B2 (en) * 2011-06-03 2016-10-11 Gdial Inc. Systems and methods for authenticating and aiding in indexing of and searching for electronic files
US10198450B2 (en) * 2011-07-13 2019-02-05 Z124 Virtual file system remote search
US20160098417A1 (en) * 2011-07-13 2016-04-07 Z124 Virtual file system remote search
US9697216B2 (en) * 2011-07-20 2017-07-04 Simplivity Corporation Method and apparatus for differentiated data placement
US20130024615A1 (en) * 2011-07-20 2013-01-24 Simplivity Corporation Method and apparatus for differentiated data placement
US9208343B2 (en) * 2011-08-18 2015-12-08 Hewlett-Packard Development Company, L.P. Transitive closure security
US20130047196A1 (en) * 2011-08-18 2013-02-21 Yu Gong Transitive closure security
US20160055228A1 (en) * 2011-08-31 2016-02-25 Z124 Rules based hierarchical data virtualization
US11423050B2 (en) 2011-09-27 2022-08-23 Z124 Rules based hierarchical data virtualization
US8423575B1 (en) 2011-09-29 2013-04-16 International Business Machines Corporation Presenting information from heterogeneous and distributed data sources with real time updates
US8589444B2 (en) 2011-09-29 2013-11-19 International Business Machines Corporation Presenting information from heterogeneous and distributed data sources with real time updates
US9852183B2 (en) 2012-04-26 2017-12-26 Alibaba Group Holding Limited Information providing method and system
US9465877B2 (en) * 2012-12-27 2016-10-11 Dropbox, Inc. Globally unique identifiers in an online content management system
US20150242521A1 (en) * 2012-12-27 2015-08-27 Dropbox. Inc. Globally unique identifiers in an online content management system
US9083766B2 (en) * 2012-12-27 2015-07-14 Dropbox, Inc. Maintaining consistent globally unique identifiers via an asynchronous interface
US20150263882A1 (en) * 2012-12-27 2015-09-17 Dropbox, Inc. Maintaining consistent globally unique identifiers via an asynchronous interface
US9069879B2 (en) * 2012-12-27 2015-06-30 Dropbox, Inc. Globally unique identifiers in an online content management system
US9660858B2 (en) * 2012-12-27 2017-05-23 Dropbox, Inc. Maintaining consistent globally unique identifiers via an asynchronous interface
US20140188790A1 (en) * 2012-12-27 2014-07-03 Dropbox, Inc. Globally unique identifiers in an online content management system
US20140189118A1 (en) * 2012-12-27 2014-07-03 Dropbox, Inc. Maintaining consistent globally unique identifiers via an asynchronous interface
KR102025210B1 (en) 2013-02-14 2019-09-25 아브 이니티오 테크놀로지 엘엘시 Queue monitoring and visualization
KR20150118963A (en) * 2013-02-14 2015-10-23 아브 이니티오 테크놀로지 엘엘시 Queue monitoring and visualization
CN105122733A (en) * 2013-02-14 2015-12-02 起元技术有限责任公司 Queue monitoring and visualization
US10318595B2 (en) * 2013-03-29 2019-06-11 International Business Machines Corporation Analytics based on pipes programming model
US10042932B2 (en) * 2013-03-29 2018-08-07 International Business Machines Corporation Analytics based on pipes programming model
US9423922B2 (en) 2013-12-24 2016-08-23 Dropbox, Inc. Systems and methods for creating shared virtual spaces
US9961149B2 (en) 2013-12-24 2018-05-01 Dropbox, Inc. Systems and methods for maintaining local virtual states pending server-side storage across multiple devices and users and intermittent network connections
US9544373B2 (en) 2013-12-24 2017-01-10 Dropbox, Inc. Systems and methods for maintaining local virtual states pending server-side storage across multiple devices and users and intermittent network connections
US10200421B2 (en) 2013-12-24 2019-02-05 Dropbox, Inc. Systems and methods for creating shared virtual spaces
US10067652B2 (en) 2013-12-24 2018-09-04 Dropbox, Inc. Providing access to a cloud based content management system on a mobile device
US9584324B2 (en) 2014-01-13 2017-02-28 Sap Se Centralized datastore password management
US20150199645A1 (en) * 2014-01-15 2015-07-16 Bank Of America Corporation Customer Profile View of Consolidated Customer Attributes
CN103970880A (en) * 2014-05-17 2014-08-06 白崇明 Distributed multi-point data extraction method
US20220060433A1 (en) * 2014-05-27 2022-02-24 Magnet Forensics Investco Inc. Systems and methods for locating application-specific data on a remote endpoint computer
US11729118B2 (en) * 2014-05-27 2023-08-15 Magnet Forensics Investco Inc. Systems and methods for locating application-specific data on a remote endpoint computer
US10402759B2 (en) * 2015-01-22 2019-09-03 Visier Solutions, Inc. Systems and methods of adding and reconciling dimension members
US11636408B2 (en) 2015-01-22 2023-04-25 Visier Solutions, Inc. Techniques for manipulating and rearranging presentation of workforce data in accordance with different data-prediction scenarios available within a graphical user interface (GUI) of a computer system, and an apparatus and hardware memory implementing the techniques
US10037024B2 (en) * 2016-01-18 2018-07-31 GM Global Technology Operations LLC Automated stochastic method for feature discovery and use of the same in a repeatable process
CN107335908A (en) * 2016-01-18 2017-11-10 通用汽车环球科技运作有限责任公司 The automation random device found for feature and its use in repetitive process
US20170205815A1 (en) * 2016-01-18 2017-07-20 GM Global Technology Operations LLC Automated stochastic method for feature discovery and use of the same in a repeatable process
US10733172B2 (en) 2016-06-03 2020-08-04 Workiva Inc. Method and computing device for minimizing accesses to data storage in conjunction with maintaining a B-tree
US9928266B2 (en) 2016-06-03 2018-03-27 Workiva Inc. Method and computing device for minimizing accesses to data storage in conjunction with maintaining a B-tree
US10657124B2 (en) * 2016-12-08 2020-05-19 Sap Se Automatic generation of structured queries from natural language input
US20180165330A1 (en) * 2016-12-08 2018-06-14 Sap Se Automatic generation of structured queries from natural language input
CN111353275A (en) * 2018-12-21 2020-06-30 北京宸信征信有限公司 Unique identifier of distributed system and generation method thereof
CN112395313A (en) * 2019-08-16 2021-02-23 阿里巴巴集团控股有限公司 Global sequence generation method and device, electronic equipment and computer storage medium
CN112597159A (en) * 2020-12-22 2021-04-02 深圳集智数字科技有限公司 Method and device for maintaining unique user identification information

Also Published As

Publication number Publication date
US9727628B2 (en) 2017-08-08
US20180060410A1 (en) 2018-03-01

Similar Documents

Publication Publication Date Title
US20180060410A1 (en) System and method of applying globally unique identifiers to relate distributed data sources
US8914414B2 (en) Integrated repository of structured and unstructured data
US7885918B2 (en) Creating a taxonomy from business-oriented metadata content
US9009201B2 (en) Extended database search
US8086592B2 (en) Apparatus and method for associating unstructured text with structured data
US9305100B2 (en) Object oriented data and metadata based search
US8260764B1 (en) System and method to search and generate reports from semi-structured data
US20050149538A1 (en) Systems and methods for creating and publishing relational data bases
US20080027971A1 (en) Method and system for populating an index corpus to a search engine
US20080082494A1 (en) Apparatus and method for generating queries and reports
US20080183691A1 (en) Method for a networked knowledge based document retrieval and ranking utilizing extracted document metadata and content
CA2545237A1 (en) Method and system for managing exemplar terms database for business-oriented metadata content
US20090204590A1 (en) System and method for an integrated enterprise search
Priebe et al. Towards integrative enterprise knowledge portals
US7689433B2 (en) Active relationship management
US8260772B2 (en) Apparatus and method for displaying documents relevant to the content of a website
US8204895B2 (en) Apparatus and method for receiving a report
US8615733B2 (en) Building a component to display documents relevant to the content of a website
Färber et al. A linked data wrapper for crunchbase
Ferrández et al. A framework for enriching Data Warehouse analysis with Question Answering systems
Heese et al. One Click Annotation.
Frischmuth et al. Towards Linked Data based Enterprise Information Integration.
Jayashree et al. Data integration with xml etl processing
CA2514165A1 (en) Metadata content management and searching system and method
US20230214430A1 (en) Dynamically decide data operations based on information type to satisfy business user need

Legal Events

Date Code Title Description
AS Assignment

Owner name: INNOGRAPHY, INC.,TEXAS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:STADING, TYRON J.;ROZICH, RYAN;JOHN, ROJI;REEL/FRAME:021368/0747

Effective date: 20080808

Owner name: INNOGRAPHY, INC., TEXAS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:STADING, TYRON J.;ROZICH, RYAN;JOHN, ROJI;REEL/FRAME:021368/0747

Effective date: 20080808

AS Assignment

Owner name: COMERICA BANK, TEXAS

Free format text: SECURITY AGREEMENT;ASSIGNOR:INNOGRAPHY, INC.;REEL/FRAME:032033/0677

Effective date: 20131220

AS Assignment

Owner name: INNOGRAPHY, INC., TEXAS

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:COMERICA BANK;REEL/FRAME:037208/0052

Effective date: 20151202

AS Assignment

Owner name: INNOGRAPHY, INC., TEXAS

Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE PATENT NUMBER 8853592 TO 8583592 PREVIOUSLY RECORDED ON REEL 037208 FRAME 0052. ASSIGNOR(S) HEREBY CONFIRMS THE PATENT NUMBER 8583592 FOR SYSTEM AND METHODS OF SEARCHING DATA SOURCES WAS INADVERTNELTY TRANSPOSED;ASSIGNOR:COMERICA BANK;REEL/FRAME:037485/0290

Effective date: 20151203

AS Assignment

Owner name: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT

Free format text: PATENT SECURITY AGREEMENT SUPPLEMENT (FIRST LIEN);ASSIGNOR:INNOGRAPHY, INC.;REEL/FRAME:037605/0557

Effective date: 20160122

Owner name: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS ADMINIS

Free format text: PATENT SECURITY AGREEMENT SUPPLEMENT (SECOND LIEN);ASSIGNOR:INNOGRAPHY, INC.;REEL/FRAME:037608/0873

Effective date: 20160122

AS Assignment

Owner name: INNOGRAPHY, INC., TEXAS

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:WILMINGTON TRUST, NATIONAL ASSOCIATION;REEL/FRAME:040349/0720

Effective date: 20161013

STCF Information on status: patent grant

Free format text: PATENTED CASE

AS Assignment

Owner name: INNOGRAPHY, INC., TEXAS

Free format text: RELEASE AND REASSIGNMENT OF SECURITY INTEREST IN PATENT RIGHTS RECORDED AT REEL 037605, FRAME 0557;ASSIGNOR:JPMORGAN CHASE BANK, N.A.;REEL/FRAME:044347/0603

Effective date: 20171101

AS Assignment

Owner name: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT, NEW YO

Free format text: PATENT SECURITY AGREEMENT;ASSIGNOR:INNOGRAPHY, INC.;REEL/FRAME:045472/0957

Effective date: 20180228

AS Assignment

Owner name: INNOGRAPHY, INC., TEXAS

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:JEFFERIES FINANCE LLC;REEL/FRAME:053976/0922

Effective date: 20201001

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 4

AS Assignment

Owner name: BANK OF AMERICA, N.A. AS COLLATERAL AGENT, NORTH CAROLINA

Free format text: SECURITY INTEREST;ASSIGNORS:CPA GLOBAL (FIP) LLC;INNOGRAPHY, INC.;REEL/FRAME:055766/0136

Effective date: 20210330

AS Assignment

Owner name: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT, MINNESOTA

Free format text: SECURITY INTEREST;ASSIGNORS:CPA GLOBAL (FIP) LLC;INNOGRAPHY, INC.;REEL/FRAME:055777/0576

Effective date: 20210330

AS Assignment

Owner name: WILMINGTON TRUST, NATIONAL ASSOCATION, MINNESOTA

Free format text: SECURITY INTEREST;ASSIGNORS:DECISION RESOURCES, INC.;DR/DECISION RESOURCES, LLC;CPA GLOBAL (FIP) LLC;AND OTHERS;REEL/FRAME:058907/0091

Effective date: 20211201