Patent Issued for Systems and methods for joining non-relational database search results over multiple database indexes (USPTO 11449511): United Services Automobile Association
2022 OCT 11 (NewsRx) -- By a
The patent’s assignee for patent number 11449511 is
News editors obtained the following quote from the background information supplied by the inventors: “The present disclosure relates generally to databases, and more particularly to joining search results from different non-relational database indexes.
“This section is intended to introduce the reader to various aspects of art that may be related to various aspects of the present disclosure, which are described and/or claimed below. This discussion is believed to help provide the reader with background information to facilitate a better understanding of the various aspects of the present disclosure. Accordingly, it is understood that these statements are to be read in this light, and not as admissions of prior art.
“Database search queries may be performed to acquire search results that provide desired information. However, in some instances, the desired information may reside on multiple indexes of a non-relational database cluster. That is, the database may not use a tabular format of rows and columns and instead use a storage model that may be configured for the specific requirements of the type of data being stored. Moreover, the desired information may correspond to distinct fields across the multiple database indexes, and the corresponding field in one database index may have a different field name than the corresponding field in another database index.”
As a supplement to the background information on this patent, NewsRx correspondents also obtained the inventors’ summary information for this patent: “One or more specific embodiments will be described below. In an effort to provide a concise description of these embodiments, not all features of an actual implementation are described in the specification. It should be appreciated that in the development of any such actual implementation, as in any engineering or design project, numerous implementation-specific decisions must be made to achieve the developers’ specific goals, such as compliance with system-related and business-related constraints, which may vary from one implementation to another. Moreover, it should be appreciated that such a development effort might be complex and time consuming, but would nevertheless be a routine undertaking of design, fabrication, and manufacture for those of ordinary skill having the benefit of this disclosure.
“The presently disclosed systems and methods receive a search request for information provided in a first field of a first index of a database cluster and a second field of a second index of a database cluster. A first non-relational database query may be performed on the first database index based on the first field, and the first non-relational database query results may be stored in volatile memory. A second non-relational database query may be performed on the second database index based on the first field, and the second non-relational database query results may be stored in the volatile memory. Storing the first and second non-relational database query results in volatile memory may save memory resources in non-volatile memory, which may be beneficial in applications where non-volatile memory is a premium resource or where there is a surplus of volatile memory. A joined dataset of the first non-relational database query results and the second non-relational database query results having a joined field corresponding to the first field and the second field may then be generated and stored in non-volatile memory. The information may be displayed from the joined dataset.
“With the foregoing in mind, FIG. 1 is a block diagram of a database system 10, according to embodiments of the present disclosure. As illustrated, the database system 10 includes a computing device 12, which may be in the form of any suitable electronic computing device, such as a server, computer, laptop, personal computer, mobile device, smartphone, tablet, wearable device, and so on. The computing device 12 may include a control system 14 that includes one or more processors (illustrated as processor 16) and one or more volatile memory devices (illustrated as volatile memory 18). The control system 14 may control and/or operate components of the computing device 12 by having the processor 16 (e.g., microprocessors) execute software programs and/or instructions stored in the volatile memory. For example, the processor 16 may execute instructions (e.g., computer code) stored in the volatile memory to facilitate querying databases and joining non-relational query results across multiple database indexes. Moreover, the one or more processors 16 may include multiple microprocessors, one or more “general-purpose” microprocessors, one or more special-purpose microprocessors, and/or one or more application specific integrated circuits (ASICS), or some combination thereof. For example, the processor 16 may include one or more reduced instruction set (RISC) processors.
“The volatile memory 18 may store data when power is provided to the volatile memory 18, but cease storage of the data once power is no longer provided (e.g., when the computing device 12 is turned off). The volatile memory 18 may store information such as control software, look up tables, configuration data, etc. In some embodiments, the processor 16 and/or the volatile memory 18 may be external to the control system 14 and/or the computing device 12. The volatile memory 18 may include a tangible, non-transitory, machine-readable-medium, such as a random access memory (RAM), including dynamic RAM (DRAM) and static
“The computing device 12 may also include one or more non-volatile memory devices (illustrated as non-volatile memory 20), such as a read-only memory (ROM), flash memory, ferroelectric RAM, a magnetic computer storage device (e.g., a hard disk drive, floppy disk, magnetic tape), or an optical disc. The non-volatile memory 20 may continue to store data even when power is no longer provided (e.g., when the computing device 12 is turned off), and generally has a larger storage capacity than the volatile memory 18. The volatile memory 18 and/or the non-volatile memory 20 may store a variety of information and may be used for various purposes. For example, the volatile memory 18 and/or the non-volatile memory 20 may store machine-readable and/or processor-executable instructions (e.g., firmware or software) for the processor 16 to execute, such as instructions for querying databases and joining non-relational query results across multiple database indexes.”
The claims supplied by the inventors are:
“1. A system comprising: a non-relational database cluster comprising a plurality of non-relational databases; a first database index associated with the non-relational database cluster, the first database index comprising a first set of documents having a first plurality of fields; a second database index associated with the non-relational database cluster, the second database index comprising a second set of documents having a second plurality of fields, wherein the second plurality of fields is different from the first plurality of fields and the first database index is different from the second database index; and a computing device comprising: a processor and a volatile memory, wherein the volatile memory comprises processor-executable instructions configured to cause the processor to: perform an index query to receive the first database index and the second database index; perform a first field query to receive a first list of the first plurality of fields associated with the first database index; perform a second field query to receive a second list of the second plurality of fields associated with the second database index; receive a first selection of a first field from the first list displayed on a graphical user interface; receive a second selection of a second field from the second list displayed on the graphical user interface, the second field different from the first field; perform a first search query on the first database index based on receiving the first selection of the first field to generate a first search result; store the first search result in the volatile memory; perform a second search query on the second database index based on receiving the second selection of the second field to generate a second search result, wherein the first search query and the second search query are performed concurrently; store the second search result in the volatile memory; convert a dataset contained within the first field, the second field, or both, to a same data type; and join the first search result and the second search result into a joined dataset by associating the first field of the first database index with the second field of the second database index, wherein the joined dataset comprises the same data type, wherein the first field is associated with a first type of document and the second field is associated with a second type of document, and wherein the first type of document is different from the second type of document.
“2. The system of claim 1, wherein the processor-executable instructions are configured to cause the processor to generate the joined dataset based on a search result joiner joining the first search result and the second search result.
“3. The system of claim 1, comprising a user device having an electronic display, wherein the user device comprises a user interface application configured to display information stored in the joined dataset.
“4. The system of claim 3, wherein the user interface application is configured to receive the first search query and the second search query via the user device.
“5. The system of claim 4, wherein the user interface application comprises one or more user interface controls, wherein the one or more user interface controls are configured to enable associating the first field with the second field.
“6. The system of claim 1, wherein the first set of documents of the first type are associated with one of a user type, a blog post type, a call center type, an information technology provider type, an employee record type, a personal information type, a financial transaction type, or a sales record type, and the second set of documents of the second type are associated with another one of the user type, the blog post type, the call center type, the information technology provider type, the employee record type, the personal information type, the financial transaction type, or the sales record type.
“7. The system of claim 1, wherein the computing device comprises non-volatile memory, and wherein the processor-executable instructions are configured to cause the processor to store the joined dataset in the non-volatile memory.
“8. The system of claim 7, wherein the non-volatile memory comprises read-only memory.
“9. The system of claim 1, wherein processor-executable instructions are configured to cause the processor to overwrite a previously generated joined dataset with the joined dataset.
“10. A computing device comprising: a processor; and a volatile memory storing processor-executable instructions configured to cause the processor to: perform an index query to receive a first database index and a second database index associated with a non-relational database cluster, the first database index comprising a first set of documents having a first plurality of fields and the second database index comprising a second set of documents having a second plurality of fields, wherein the second plurality of fields is different from the first plurality of fields and the first database index is different from the second database index; perform a first field query to receive a first list of the first plurality of fields associated with the first database index; perform a second field query to receive a second list of the second plurality of fields associated with the second database index; receive a first selection of a first field from the first list displayed on a graphical user interface; receive a second selection of a second field from the second list displayed on the graphical user interface, the second field different from the first field; perform a first search query on the first database index based on receiving the first selection of the first field to generate a first search result; store the first search result in the volatile memory; perform a second search query on the second database index based on receiving the second selection of the second field to generate a second search result, wherein the first search query and the second search query are performed concurrently; store the second search result in the volatile memory; convert a dataset contained within the first field, the second field, or both, to a same data type; and join the first search result and the second search result into a joined dataset by associating the first field of the first database index with the second field of the second database index, wherein the joined dataset comprises the same data type, wherein the first field is associated with a first type of document and the second field is associated with a second type of document, and wherein the first type of document is different from the second type of document.
“11. The computing device of claim 10, wherein the processor-executable instructions are configured to cause the processor to generate the joined dataset based on a search result joiner joining the first search result and the second search result.
“12. The computing device of claim 10, comprising non-volatile memory, wherein the processor-executable instructions are configured to cause the processor to store the joined dataset in the non-volatile memory.
“13. The computing device of claim 12, wherein the non-volatile memory comprises read-only memory.
“14. The computing device of claim 10, wherein the processor-executable instructions are configured to cause the processor to display information stored in the joined dataset.
“15. A tangible, non-transitory, machine-readable-medium, comprising machine-readable instructions configured to cause a processor to: receive a search request that joins a first field of a first database index of a non-relational database cluster and a second field of a second database index of the non-relational database cluster, the non-relational database cluster storing data in a non-tabular format comprising key-value pairs, wherein the second field is different from the first field and the first database index is different from the second database index; perform an index query to receive the first index and the second index, the first index comprising a first set of documents having a first plurality of fields and the second index comprising a second set of documents having a second plurality of fields, wherein the second plurality of fields is different than the first plurality of fields; perform a first field query to receive a first list of the first plurality of fields associated with the first index; perform a second field query to receive a second list of the second plurality of fields associated with the second index; receive a first selection of the first field from the first list displayed on a graphical user interface; receive a second selection of the second field from the second list displayed on the graphical user interface; perform a first database query on the first index based on receiving the first selection of the first field to generate a first database query result; store the first database query result of the first database query in volatile memory; perform a second database query on the second index based on receiving the second selection of the second field to generate a second database query result, wherein the first database query and the second database query are performed concurrently; store the second database query result of the second database query in the volatile memory; convert a dataset contained within the first field, the second field, or both, to a same data type; and generate a joined dataset of the first database query result and the second database query result having a joined field corresponding to the first field and the second field, wherein the joined dataset comprises the same data type, wherein the first field is associated with a first type of document and the second field is associated with a second type of document, and wherein the first type of document is different from the second type of document.”
There are additional claims. Please visit full patent to read further.
For additional information on this patent, see: Barrera, Paul. Systems and methods for joining non-relational database search results over multiple database indexes.
(Our reports deliver fact-based news of research and discoveries from around the world.)
Study Data from State University of Jakarta Update Knowledge of Risk Management (Macroeconomics of Systemic Risk: Transmission Channels and Technical Integration): Insurance – Risk Management
Patent Issued for Vehicular traffic alerts for avoidance of abnormal traffic conditions (USPTO 11450206): State Farm Mutual Automobile Insurance Company
Advisor News
Annuity News
Health/Employee Benefits News
Life Insurance News