DETAILED ACTION
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
This Office Action is sent in response to Applicant's Communication received on February 28, 2025 for application number 19/067,067. This Office hereby acknowledges receipt of the following and placed of record in file: Specification, Drawings, Abstract, Oath/Declaration, and Claims.
Priority
This application discloses and claims only subject matter disclosed in prior application no 18/354,110, filed July 18, 2023, and names the inventor or at least one joint inventor named in the prior application. Accordingly, this application may constitute a continuation or division. Should applicant desire to claim the benefit of the filing date of the prior application, attention is directed to 35 U.S.C. 120, 37 CFR 1.78, and MPEP § 211 et seq.
Information Disclosure Statement
The information disclosure statements filed 05/23/2025 fails to comply with the provisions of 37 CFR 1.97, 1.98 and MPEP § 609 because MPEP 609.04(a) requires, “Each publication must be identified by publisher, author (if any), title, relevant pages of the publication, and date and place of publication. The date of publication supplied must include at least the month and year of publication, except that the year of publication (without the month) will be accepted if the applicant points out in the information disclosure statement that the year of publication is sufficiently earlier than the effective U.S. filing date and any foreign priority date so that the particular month of publication is not in issue.”
For example, NPL Cite No B fail to identify the date of publication including at least the month and year.
It has been placed in the application file, but the information referred to therein has not been considered as to the merits. Applicant is advised that the date of any re-submission of any item of information contained in this information disclosure statement or the submission of any missing element(s) will be the date of submission for purposes of determining compliance with the requirements based on the time of filing the statement, including all certification requirements for statements under 37 CFR 1.97(e). See MPEP § 609.05(a).
Double Patenting
The nonstatutory double patenting rejection is based on a judicially created doctrine grounded in public policy (a policy reflected in the statute) so as to prevent the unjustified or improper timewise extension of the “right to exclude” granted by a patent and to prevent possible harassment by multiple assignees. A nonstatutory double patenting rejection is appropriate where the conflicting claims are not identical, but at least one examined application claim is not patentably distinct from the reference claim(s) because the examined application claim is either anticipated by, or would have been obvious over, the reference claim(s). See, e.g., In re Berg, 140 F.3d 1428, 46 USPQ2d 1226 (Fed. Cir. 1998); In re Goodman, 11 F.3d 1046, 29 USPQ2d 2010 (Fed. Cir. 1993); In re Longi, 759 F.2d 887, 225 USPQ 645 (Fed. Cir. 1985); In re Van Ornum, 686 F.2d 937, 214 USPQ 761 (CCPA 1982); In re Vogel, 422 F.2d 438, 164 USPQ 619 (CCPA 1970); In re Thorington, 418 F.2d 528, 163 USPQ 644 (CCPA 1969).
A timely filed terminal disclaimer in compliance with 37 CFR 1.321(c) or 1.321(d) may be used to overcome an actual or provisional rejection based on nonstatutory double patenting provided the reference application or patent either is shown to be commonly owned with the examined application, or claims an invention made as a result of activities undertaken within the scope of a joint research agreement. See MPEP § 717.02 for applications subject to examination under the first inventor to file provisions of the AIA as explained in MPEP § 2159. See MPEP §§ 706.02(l)(1) - 706.02(l)(3) for applications not subject to examination under the first inventor to file provisions of the AIA . A terminal disclaimer must be signed in compliance with 37 CFR 1.321(b).
The USPTO Internet website contains terminal disclaimer forms which may be used. Please visit www.uspto.gov/patent/patents-forms. The filing date of the application in which the form is filed determines what form (e.g., PTO/SB/25, PTO/SB/26, PTO/AIA /25, or PTO/AIA /26) should be used. A web-based eTerminal Disclaimer may be filled out completely online using web-screens. An eTerminal Disclaimer that meets all requirements is auto-processed and approved immediately upon submission. For more information about eTerminal Disclaimers, refer to www.uspto.gov/patents/process/file/efs/guidance/eTD-info-I.jsp.
Claims 21-40 are rejected on the ground of nonstatutory double patenting as being unpatentable over claims 1-20 of U.S. Patent No. 12,271,380. Although the claims at issue are not identical, they are not patentably distinct from each other because the claims in the instant application are the genus of the species claimed in the '380 patent.
Claim Rejections - 35 USC § 101
35 U.S.C. 101 reads as follows:
Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title.
Claims 21, 30, and 38 are rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more. The claim(s) recite(s) the abstract idea of a mental process, for example the claims are directed toward the mental process of generating a query plan that includes index join operator, and executing the query plan and the index join operator. The limitations of generating a query plan including an index join operator, wherein the index join operator includes a join handler configured to get, from a sorted dictionary at query plan execution, a first value identifier corresponding to the first predicate, a second value identifier corresponding to the second predicate, and one or more intervening value identifiers between the first value identifier and the second value identifier; executing the query plan including the index join operator, wherein the executing further comprises getting, from the sorted dictionary, the first value identifier, the second value identifier, and the one or more intervening value identifiers between the first value identifier and the second value identifier, as recited, is a process that, under broadest reasonable interpretation, covers a step that could reasonably be performed in the mind, including with the aid of pen and paper, and a step that represents a type of method of mental processing, but for the recitation of generic computer components and insignificant data gathering. That is, other than reciting “processor” and “non-transitory computer-readable medium”, nothing in the claim element precludes the step from practically being performed in the mind.
For example, the limitations directed toward generating and executing are all directed toward a mental process that can take place with the aid of pen and paper. The limitations encompass a human mind carrying out these functions through observation, evaluation judgment and/or opinion (generating a query plan and executing the query plan, for instance), or even with the aid of pen and paper. Similarly, the limitation of executing the index join operator using the first value identifier, the second value identifier, and the one or more intervening value identifiers to obtain a result set, as recited, is a process that, under its broadest reasonable interpretation, covers performance of the limitation in the mind but for the recitation of generic computer components. Thus, the claim is directed toward an abstract idea. The limitations generating a query plan and executing a query plan and index join operator are considered to be an abstract idea that falls in the “Mental Processes” grouping of abstract ideas.
This judicial exception is not integrated into a practical application. The claim recites the following additional elements “processor” and “non-transitory computer-readable medium”. These additional elements are recited at a high-level of generality such that they amount to no more than mere instructions to apply the exception using a generic computer components. Further, the claim recitations of receiving and providing steps. Receiving and providing are insignificant extra-solution activity (mere data gathering) to the judicial exception with no evidence of improvement. Accordingly, the additional elements do not integrate the abstract idea into a practical application because it does not impose any meaningful limits on practicing the abstract idea, thus fail to integrate the abstract idea into a practical application. See MPEP 2106.05(g).
The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception. As discussed above with respect to integration of the abstract idea into a practical application, the additional elements of receiving and providing data (receiving or transmitting over a network), are well-understood, routine and conventional activity according to MPEP 2106.05(d)(II)(i), thus, cannot provide an inventive concept.
As a result, representative claim(s) 21, 30, and 38 do not recite any elements, or ordered combination of elements, which transforms the abstract idea into a patent-eligible subject matter. In addition, the claim(s) does not recite (i) an improvement to the functionality of a computer or other technology or technical field (see MPEP 2106.05(a); (ii) a “particular machine” to apply or use the judicial exception (see MPEP 2106.05(b); (iii) a particular transformation of an article to a different state or thing (see 2106.05(c). Further, the claim does not recite any improvement to computer functionality or specify how the one or more processors are used to improve functionality of a computing device. Considering the claim(s) as a whole, the additional elements fail to apply or use the abstract idea in a meaningful way and the additional limitations recited beyond the judicial exception itself fail to integrate the exception into a practical application. Accordingly, the claims of this application are rejected.
Claims 22, 24-26, 28, 31, 33-35, 37, and 39 are dependent on claim 21, claim 30, and claim 38 and includes all the limitations of claim 21. Therefore, claims 22, 24-26, 28, 31, 33-35, 37, and 39 recites the same abstract idea of generating a query plan that includes index join operator, and executing the query plan and the index join operator. Claims 22, 24-26, 28, 31, 33-35, 37, and 39 further limits the detecting step, including the additional steps for including a database execution engine and instructions to get data from a sorted dictionary, under broadest reasonable interpretation, covers performance of the limitation in the mind but for the recitation of generic computer components. Getting data from a sorted dictionary is a further step for generating a query plan without adding significantly more. The limitations associated with generating a query plan are considered to be an abstract idea that falls in the “Mental Processes” grouping of abstract ideas.
Claims 23, 32, and 40 are rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more. The claim(s) recite(s) the abstract idea of a mental process, for example the claims are directed toward the mental process of generating query plan by a database execution engine, under broadest reasonable interpretation, covers performance of the limitation in the mind but for the recitation of generic computer components. The limitations associated with generating query plan by a database execution engine are considered to be an abstract idea that falls in the “Mental Processes” grouping of abstract ideas.
Claims 27, 29, and 36 are rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more. The claim(s) recite(s) the abstract idea of a mental process, for example the claims are directed toward the mental process of executing query plan including index join operator by the database execution engine, under broadest reasonable interpretation, covers performance of the limitation in the mind but for the recitation of generic computer components. The limitations associated with executing query plan including index join operator by the database execution engine are considered to be an abstract idea that falls in the “Mental Processes” grouping of abstract ideas.
The claim(s) do not include additional elements that are sufficient to amount to significantly more than the judicial exception. As discussed above with respect to integration of the abstract idea into a practical application, the additional element of using a processor to perform the generating and execution steps amounts to no more than mere instructions to apply the exception using a generic computer component. The limitations related to receiving and providing are considered by the examiner to be insignificant extra solution activity, because the inventive subject matter is directed toward database processing. Mere instructions to apply an exception using a generic computer component cannot provide an inventive concept. Because of these reasons the claim(s) does/do not include additional elements that are sufficient to amount to significantly more than the judicial exception. The claim(s) 21-40are rejected.
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102 of this title, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
The factual inquiries set forth in Graham v. John Deere Co., 383 U.S. 1, 148 USPQ 459 (1966), that are applied for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows:
1. Determining the scope and contents of the prior art.
2. Ascertaining the differences between the prior art and the claims at issue.
3. Resolving the level of ordinary skill in the pertinent art.
4. Considering objective evidence present in the application indicating obviousness or nonobviousness.
Claims 21-40 are rejected under 35 U.S.C. 103 as being unpatentable Ahmed et al. (US 2014/0067789) (hereinafter Ahmed) in view of Fender et al. (US 2021/0157779) (hereinafter Fender), and in further view of view of Bove et al. (US 2024/0004882) (hereinafter Bove).
Regarding claim 1, Ahmed teaches a system, comprising: at least one data processor; and at least one memory storing instructions which, when executed by the at least one data processor (see Fig. 3, para [0078], discloses processor and memory), cause operations comprising: receiving a query request including a join (see Fig. 1, para [0033], discloses receiving query that includes a join operator), wherein the join includes a range between a first predicate of the join and a second predicate of the join (see Fig. 1, para [0033], discloses a first predicate and a second other predicate in a disjunction); and responding to the query request by providing the result set (see Fig. 2, para [0034], discloses providing a result set in response to query).
Ahmed does not explicitly teach generating a query plan including an index join operator, wherein the index join operator includes a join handler configured to get, from a sorted dictionary at query plan execution, a first value identifier corresponding to the first predicate, a second value identifier corresponding to the second predicate, and one or more intervening value identifiers between the first value identifier and the second value identifier; executing the query plan including the index join operator, wherein the executing further comprises getting, from the sorted dictionary, the first value identifier, the second value identifier, and the one or more intervening value identifiers between the first value identifier and the second value identifier, and executing the index join operator using the first value identifier, the second value identifier, and the one or more intervening value identifiers to obtain a result set.
Fender teaches generating a query plan including an index join operator (see Fig. 1, para [0029], para [0018], discloses generating query execution plans including dictionary join operation (index join operator)), wherein the index join operator includes a join handler configured to get, from a sorted dictionary at query plan execution (see Table 1, para [0018], para [0038], discloses using a key used as an index into a lookup array (sorted dictionary)), a first value identifier corresponding to the first predicate, a second value identifier corresponding to the second predicate, and one or more intervening value identifiers between the first value identifier and the second value identifier (see Fig. 1, para [0029], para [0041], discloses a first dictionary join operation for First Name, a second dictionary join operation for Last Name, and intervening value identifiers in dictionary join operations Dep Name and Man Last Name); executing the query plan including the index join operator, wherein the executing further comprises getting, from the sorted dictionary, the first value identifier, the second value identifier, and the one or more intervening value identifiers between the first value identifier and the second value identifier, (see Table 1, Table 2, para [0050-0055], para [0059-0060], discloses executing query plan and retrieving first, second, and intervening value identifiers), and executing the index join operator using the first value identifier, the second value identifier, and the one or more intervening value identifiers to obtain a result set (see Figs. 3-4, para [0016], para [0066], discloses obtaining a final results set based on value identifiers).
Ahmed/Fender are analogous arts as they are each from the same field of endeavor of database systems.
Before the effective filing date of the invention it would have been obvious to a person of ordinary skill in the art to modify the system of Ahmed to include a sorted dictionary from disclosure of Fender. The motivation to combine these arts is disclosed by Fender as “more efficient and less costly execution plan can be generated” (para [0121]) and including sorted dictionary is well known to persons of ordinary skill in the art, and therefore one of ordinary skill would have good reason to pursue the known options within his or her technical grasp that would lead to anticipated success.
Ahmed/Fender do not explicitly teach the join selects from a first table and a second table one or more values based on the range between the first predicate and the second predicate.
Bove teaches the join selects from a first table and a second table one or more values based on the range between the first predicate and the second predicate (see Fig. 25A, para [0224-0225], para [0256-0257], discloses selecting parameters from a left and right data sets (first and second table) based on set of join key ranges).
Ahmed/Fender/Bove are analogous arts as they are each from the same field of endeavor of database systems.
Before the effective filing date of the invention it would have been obvious to a person of ordinary skill in the art to modify the system of Ahmed/Fender to include a database execution engine from disclosure of Bove. The motivation to combine these arts is disclosed by Bove as “a given join key range further improves performance of implementing the join process” (para [0263]) and including database execution engine is well known to persons of ordinary skill in the art, and therefore one of ordinary skill would have good reason to pursue the known options within his or her technical grasp that would lead to anticipated success.
Regarding claim 30, Ahmed teaches a method comprising: receiving a query request including a join (see Fig. 1, para [0033], discloses receiving query that includes a join operator), wherein the join includes a range between a first predicate of the join and a second predicate of the join (see Fig. 1, para [0033], discloses a first predicate and a second other predicate in a disjunction); and responding to the query request by providing the result set (see Fig. 2, para [0034], discloses providing a result set in response to query).
Ahmed does not explicitly teach generating a query plan including an index join operator, wherein the index join operator includes a join handler configured to get, from a sorted dictionary at query plan execution, a first value identifier corresponding to the first predicate, a second value identifier corresponding to the second predicate, and one or more intervening value identifiers between the first value identifier and the second value identifier; executing the query plan including the index join operator, wherein the executing further comprises getting, from the sorted dictionary, the first value identifier, the second value identifier, and the one or more intervening value identifiers between the first value identifier and the second value identifier, and executing the index join operator using the first value identifier, the second value identifier, and the one or more intervening value identifiers to obtain a result set.
Fender teaches generating a query plan including an index join operator (see Fig. 1, para [0029], para [0018], discloses generating query execution plans including dictionary join operation (index join operator)), wherein the index join operator includes a join handler configured to get, from a sorted dictionary at query plan execution (see Table 1, para [0018], para [0038], discloses using a key used as an index into a lookup array (sorted dictionary)), a first value identifier corresponding to the first predicate, a second value identifier corresponding to the second predicate, and one or more intervening value identifiers between the first value identifier and the second value identifier (see Fig. 1, para [0029], para [0041], discloses a first dictionary join operation for First Name, a second dictionary join operation for Last Name, and intervening value identifiers in dictionary join operations Dep Name and Man Last Name); executing the query plan including the index join operator, wherein the executing further comprises getting, from the sorted dictionary, the first value identifier, the second value identifier, and the one or more intervening value identifiers between the first value identifier and the second value identifier, (see Table 1, Table 2, para [0050-0055], para [0059-0060], discloses executing query plan and retrieving first, second, and intervening value identifiers), and executing the index join operator using the first value identifier, the second value identifier, and the one or more intervening value identifiers to obtain a result set (see Figs. 3-4, para [0016], para [0066], discloses obtaining a final results set based on value identifiers).
Ahmed/Fender are analogous arts as they are each from the same field of endeavor of database systems.
Before the effective filing date of the invention it would have been obvious to a person of ordinary skill in the art to modify the system of Ahmed to include a sorted dictionary from disclosure of Fender. The motivation to combine these arts is disclosed by Fender as “more efficient and less costly execution plan can be generated” (para [0121]) and including sorted dictionary is well known to persons of ordinary skill in the art, and therefore one of ordinary skill would have good reason to pursue the known options within his or her technical grasp that would lead to anticipated success.
Ahmed/Fender do not explicitly teach the join selects from a first table and a second table one or more values based on the range between the first predicate and the second predicate.
Bove teaches the join selects from a first table and a second table one or more values based on the range between the first predicate and the second predicate (see Fig. 25A, para [0224-0225], para [0256-0257], discloses selecting parameters from a left and right data sets (first and second table) based on set of join key ranges).
Ahmed/Fender/Bove are analogous arts as they are each from the same field of endeavor of database systems.
Before the effective filing date of the invention it would have been obvious to a person of ordinary skill in the art to modify the system of Ahmed/Fender to include a database execution engine from disclosure of Bove. The motivation to combine these arts is disclosed by Bove as “a given join key range further improves performance of implementing the join process” (para [0263]) and including database execution engine is well known to persons of ordinary skill in the art, and therefore one of ordinary skill would have good reason to pursue the known options within his or her technical grasp that would lead to anticipated success.
Regarding claim 38, Ahmed teaches a non-transitory computer-readable medium including instructions which, when executed by at least one data processor (see Fig. 3, para [0081], discloses processor and medium), cause operations comprising: receiving a query request including a join (see Fig. 1, para [0033], discloses receiving query that includes a join operator), wherein the join includes a range between a first predicate of the join and a second predicate of the join (see Fig. 1, para [0033], discloses a first predicate and a second other predicate in a disjunction); and responding to the query request by providing the result set (see Fig. 2, para [0034], discloses providing a result set in response to query).
Ahmed does not explicitly teach generating a query plan including an index join operator, wherein the index join operator includes a join handler configured to get, from a sorted dictionary at query plan execution, a first value identifier corresponding to the first predicate, a second value identifier corresponding to the second predicate, and one or more intervening value identifiers between the first value identifier and the second value identifier; executing the query plan including the index join operator, wherein the executing further comprises getting, from the sorted dictionary, the first value identifier, the second value identifier, and the one or more intervening value identifiers between the first value identifier and the second value identifier, and executing the index join operator using the first value identifier, the second value identifier, and the one or more intervening value identifiers to obtain a result set.
Fender teaches generating a query plan including an index join operator (see Fig. 1, para [0029], para [0018], discloses generating query execution plans including dictionary join operation (index join operator)), wherein the index join operator includes a join handler configured to get, from a sorted dictionary at query plan execution (see Table 1, para [0018], para [0038], discloses using a key used as an index into a lookup array (sorted dictionary)), a first value identifier corresponding to the first predicate, a second value identifier corresponding to the second predicate, and one or more intervening value identifiers between the first value identifier and the second value identifier (see Fig. 1, para [0029], para [0041], discloses a first dictionary join operation for First Name, a second dictionary join operation for Last Name, and intervening value identifiers in dictionary join operations Dep Name and Man Last Name); executing the query plan including the index join operator, wherein the executing further comprises getting, from the sorted dictionary, the first value identifier, the second value identifier, and the one or more intervening value identifiers between the first value identifier and the second value identifier, (see Table 1, Table 2, para [0050-0055], para [0059-0060], discloses executing query plan and retrieving first, second, and intervening value identifiers), and executing the index join operator using the first value identifier, the second value identifier, and the one or more intervening value identifiers to obtain a result set (see Figs. 3-4, para [0016], para [0066], discloses obtaining a final results set based on value identifiers).
Ahmed/Fender are analogous arts as they are each from the same field of endeavor of database systems.
Before the effective filing date of the invention it would have been obvious to a person of ordinary skill in the art to modify the system of Ahmed to include a sorted dictionary from disclosure of Fender. The motivation to combine these arts is disclosed by Fender as “more efficient and less costly execution plan can be generated” (para [0121]) and including sorted dictionary is well known to persons of ordinary skill in the art, and therefore one of ordinary skill would have good reason to pursue the known options within his or her technical grasp that would lead to anticipated success.
Ahmed/Fender do not explicitly teach the join selects from a first table and a second table one or more values based on the range between the first predicate and the second predicate.
Bove teaches the join selects from a first table and a second table one or more values based on the range between the first predicate and the second predicate (see Fig. 25A, para [0224-0225], para [0256-0257], discloses selecting parameters from a left and right data sets (first and second table) based on set of join key ranges).
Ahmed/Fender/Bove are analogous arts as they are each from the same field of endeavor of database systems.
Before the effective filing date of the invention it would have been obvious to a person of ordinary skill in the art to modify the system of Ahmed/Fender to include a database execution engine from disclosure of Bove. The motivation to combine these arts is disclosed by Bove as “a given join key range further improves performance of implementing the join process” (para [0263]) and including database execution engine is well known to persons of ordinary skill in the art, and therefore one of ordinary skill would have good reason to pursue the known options within his or her technical grasp that would lead to anticipated success.
Regarding claims 22, 31, and 39, Ahmed/Fender/Bove teach a system of claim 21, a method of claim 30, and medium of claim 38.
Ahmed/Fender do not explicitly teach wherein the query request is received at a database execution engine.
Bove teaches wherein the query request is received at a database execution engine (see Fig. 1, Fig. 24A, para [0136], discloses query execution implemented by database system).
Regarding claims 23, 32, and 40, Ahmed/Fender/Bove teach a system of claim 21, a method of claim 30, and medium of claim 38.
Ahmed/Fender do not explicitly teach wherein the query plan is generated, by a database execution engine, in response to the query request that is received.
Bove teaches wherein the query plan is generated, by a database execution engine, in response to the query request that is received (see Fig. 24A, Fig. 26A, para [0232], para [0287], discloses generating a query plan in response to a query request).
Regarding claims 24 and 33, Ahmed/Fender/Bove teach a system of claim 21 and a method of claim 30.
Ahmed does not explicitly teach wherein the join handler is configured to include one or more instructions to perform the get from the sorted dictionary.
Fender teaches wherein the join handler is configured to include one or more instructions to perform the get from the sorted dictionary (see para [0018], para [0039], discloses a key is used as an index into a lookup array).
Regarding claims 25 and 34, Ahmed/Fender/Bove teach a system of claim 21 and a method of claim 30.
Ahmed does not explicitly teach wherein the query plan includes a plurality of operators including the index join operator.
Fender teaches wherein the query plan includes a plurality of operators including the index join operator (see Fig. 1, para [0029], para [0018], discloses query execution plans including dictionary join operation (index join operator)).
Regarding claims 26 and 35, Ahmed/Fender/Bove teach a system of claim 21 and a method of claim 30.
Ahmed/Fender do not explicitly teach wherein the plurality of operators are configured are executed, by a database execution engine, using at least one pipeline.
Bove wherein the plurality of operators are configured are executed, by a database execution engine, using at least one pipeline (see Fig. 24M, para [0033-0034], para [0186], discloses using a stream (pipeline) in query execution plan).
Regarding claims 27 and 36, Ahmed/Fender/Bove teach a system of claim 21 and a method of claim 30.
Ahmed/Fender do not explicitly teach wherein the executing of the query plan including the index join operator is performed by at least a database execution engine.
Bove teaches wherein the executing of the query plan including the index join operator is performed by at least a database execution engine (see Fig. 25F, Fig. 28B, para [0383], discloses a query plan including join_key).
Regarding claims 28 and 37, Ahmed/Fender/Bove teach a system of claim 21 and a method of claim 30.
Ahmed does not explicitly teach wherein the index join operator includes the join handler, wherein the join handler gets from the sorted dictionary the first value identifier, the second value identifier, and the one or more intervening value identifiers.
Fender teaches wherein the index join operator includes the join handler, wherein the join handler gets from the sorted dictionary the first value identifier, the second value identifier, and the one or more intervening value identifiers (see Fig. 1, Table 1, para [0029], para [0038], discloses a first dictionary join operation for First Name, a second dictionary join operation for Last Name, and intervening value identifiers in dictionary join operations Dep Name and Man Last Name).
Regarding claim 29, Ahmed/Fender/Bove teach a system of claim 21.
Ahmed does not explicitly teach wherein the index join operator includes the join handler, wherein the join handler executes the index join operator using the first value identifier, the second value identifier, and the one or more intervening value identifiers.
Fender teaches wherein the index join operator includes the join handler, wherein the join handler executes the index join operator using the first value identifier, the second value identifier, and the one or more intervening value identifiers (see Table 1, Table 2, para [0038], para [0050-0055], discloses executing query plan and retrieving first, second, and intervening value identifiers),
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. See Konik et al. US Publication No. 2014/0172908.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to COURTNEY HARMON whose telephone number is (571)270-5861. The examiner can normally be reached M-F 9am - 5pm.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Ann Lo can be reached at 571-272-9767. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/Courtney Harmon/Primary Examiner, Art Unit 2159
/ANN J LO/Supervisory Patent Examiner, Art Unit 2159