Patent Issued for Systems and methods for joining non-relational database search results over multiple database indexes (USPTO 11775526): United Services Automobile Association
2023 OCT 24 (NewsRx) -- By a
Patent number 11775526 is assigned to
The following quote was obtained by the news editors 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.”
In addition to the background information obtained for this patent, NewsRx journalists 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 plurality of database indexes stored in the non-relational database cluster, wherein each database index of the plurality of database indexes comprises multiple types of documents having a plurality of fields and wherein said each database index of the plurality of database indexes is different from another 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 a plurality of index queries on the plurality of database indexes to receive the plurality of database indexes; perform a plurality of field queries to receive a plurality of field lists based on the plurality of database indexes, wherein each list of the plurality of field lists corresponds to a list of a respective plurality of fields associated with a database index of the plurality of database indexes; receive a selection of fields from the plurality of field lists, wherein each field of the selection of fields is from a different list of the plurality of field lists; perform a plurality of search queries on the plurality of database indexes based on the selection of fields to generate a plurality of search results, wherein the plurality of search results comprises records retrieved from the plurality of non-relational databases; convert one or more datasets contained within the selection of fields to a same data type; and join the plurality of search results into a joined dataset by associating each field from the selection of fields with another field, wherein the joined dataset comprises a joined field corresponding to a first field and a second field and comprises records having the same data type.
“2. The system of claim 1, wherein the selection of fields comprises at least three fields.
“3. The system of claim 1, wherein each field from the selection of fields is associated with a respective type of document, wherein each respective type of document is different from another type.
“4. 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 that joins each search result of the plurality of search results with another type.
“5. 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 on the electronic display.
“6. The system of claim 5, 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 each field of the plurality of fields selected with another type.
“7. The system of claim 1, wherein each index of the database indexes is different from another type.
“8. The system of claim 1, wherein the processor-executable instructions are configured to cause the processor to store the plurality of search results in the volatile memory.
“9. The system of claim 1, 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.
“10. The system of claim 9, wherein the non-volatile memory comprises read-only memory.
“11. The system of claim 1, wherein the processor-executable instructions are configured to overwrite a previously generated joined dataset with the joined dataset.
“12. A computing device comprising: a processor; and a volatile memory storing processor-executable instructions configured to cause the processor to: perform, a plurality of index queries to receive a plurality of database indexes stored in a non-relational database cluster comprising a plurality of non-relational databases, wherein each database index of the plurality of database indexes comprises a set of documents having a plurality of fields, and wherein said each database index of the plurality of database indexes is different from another database index; perform a plurality of field queries to receive a plurality of field lists based on the plurality of database indexes, wherein each list of the plurality of field lists corresponds to a list of a respective plurality of fields associated with a database index of the plurality of database indexes; receive a selection of fields from the plurality of field lists, wherein each field of the selection of fields is from a different list of the plurality of field lists; perform a plurality of search queries on the plurality of database indexes based on the selection of fields to generate a plurality of search results, wherein the plurality of search results comprises records retrieved from the plurality of non-relational databases; convert one or more datasets contained within the selection of fields to a same data type; and join the plurality of search results into a joined dataset by associating each field from the selection of fields with another field, wherein the joined dataset comprises a joined field corresponding to a first field and a second field and comprises records having the same data type.
“13. The computing device of claim 12, wherein the selection of fields comprises at least three fields.
“14. The computing device of claim 12, wherein each field of the plurality of fields associated with a respective database index of the plurality of database indexes is different from another index.
“15. The computing device of claim 12, wherein the processor-executable instructions are configured to cause the processor to generate the joined dataset based on a search result joiner that joins each search result of the plurality of search results with another search result.
“16. The computing device of claim 12, 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.
“17. The computing device of claim 12, comprising a non-volatile memory, wherein the processor-executable instructions are configured to cause the processor to: store the plurality of search results in the volatile memory; and store the joined dataset in the non-volatile memory.
“18. The computing device of claim 17, wherein the non-volatile memory comprises read-only memory.
“19. A method, comprising: performing, via a processor, a plurality of index queries to receive a plurality of database indexes stored in a non-relational database cluster comprising a plurality of non-relational databases, wherein each database index of the plurality of database indexes comprises multiple types of documents having a plurality of fields, wherein said each database index of the plurality of database indexes is different from another database index, and wherein each field of the plurality of fields associated with a respective database index is different from another field; performing, via the processor, a plurality of field queries to receive a plurality of field lists based on the plurality of database indexes, wherein each list of the plurality of field lists corresponds to a list of a respective plurality of fields associated with a database index of the plurality of database indexes; receiving, via the processor, a selection of fields from the plurality of field lists, wherein each field selected is from a different list of the plurality of field lists; performing, via the processor, a plurality of search queries on the plurality of database indexes based on the selection of fields to generate a plurality of search results, wherein the plurality of search results comprises records retrieved from the plurality of non-relational databases; converting, via the processor, one or more datasets contained within the selection of fields to a same data type; and joining, via the processor, the plurality of search results into a joined dataset by associating each field from the selection of fields with another field, wherein the joined dataset comprises a joined field corresponding to a first field and a second field and comprises records having the same data type.
“20. The method of claim 19, wherein receiving the selection of fields comprises selecting at least three fields.”
URL and more 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.)
Patent Issued for Cross-device presentation with conversational user interface (USPTO 11776046): United Services Automobile Association
Patent Issued for System and method for analyzing an integrity of a roof covering (USPTO 11776100): State Farm Mutual Automobile Insurance Company
Advisor News
Annuity News
Health/Employee Benefits News
Life Insurance News