Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
DETAILED ACTION
Claims 1-22 are present in this application. Claims 1-22 are pending in this office
action.
This office action is NON-FINAL.
Drawings
The Drawings filed on 04/09/25 are acceptable for examination purposes.
Specification
The Specification filed on 04/09/25 is acceptable for examination purposes.
Information Disclosure Statement
The information disclosure statements (IDS) filed on 08/27/25 has been
considered by the Examiner and made of record in the application file.
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.
6. Claims 1-22 of the instant application is rejected on the ground of nonstatutory
obviousness type double patenting as being unpatentable over claims 1-20 of
US Patent No. 12, 326, 860. Although the claims at issue are not identical, they
are not patentably distinct from each other because claims 1-20 of US Patent No. 12, 326, 860 recite the elements of claims 1-22 of the Instant Application No. 19/173,847.
Both claim features of the instant application 19/173,847 and US Patent No.
12, 326, 860 can be compared as follows:
Instant Application 19/173,847
US Patent No. 12, 326, 860
1. An apparatus for applying database operations to one or more database tables, the apparatus comprising a hardware pipeline comprising multiple configurable hardware-implemented table-processing circuits connected in a cascade, the hardware pipeline configured to execute requested database operations on the one or more database tables, by: configuring a hardware of at least some of the table-processing circuits in accordance with the database operations; receiving a stream of input records drawn from the one or more database tables; parsing the input records; applying the database operations to the parsed input records, using the at least some of the table- processing circuits, so as to produce output records; and streaming the output records from the hardware pipeline, wherein the hardware pipeline is configured to execute the database operations in a streaming pipelined manner in which (i) a given table-processing circuit in the cascade executes a portion of the database operations on a given input record in the stream, while at the same time (ii) a preceding table-processing circuit in the cascade executes another portion of the database operations on a subsequent input record in the stream.
1. An apparatus for applying database operations to one or more database tables, the apparatus comprising: a memory; and a hardware pipeline comprising multiple configurable hardware-implemented table-processing circuits connected in a cascade, the hardware pipeline configured to execute requested database operations on the one or more database tables, by: configuring a hardware of at least some of the table-processing circuits in accordance with the database operations; receiving a stream of input records drawn from the one or more database tables; parsing the input records into a key and one or more fields other than the key; storing the one or more fields of at least some of the parsed input records in the memory in accordance with the key; applying the database operations to the parsed input records, using the at least some of the table-processing circuits and the memory, so as to produce output records; and streaming the output records from the hardware pipeline, wherein the hardware pipeline is configured to execute the database operations in a streaming pipelined manner in which (i) a given table-processing circuit in the cascade executes a portion of the database operations on a given input record in the stream, while at the same time (ii) a preceding table-processing circuit in the cascade executes another portion of the database operations on a subsequent input record in the stream.
2. The apparatus according to claim 1, wherein the database operations comprise a Join command that joins at least parts of matching records from two or more database tables.
2. The apparatus according to claim 1, wherein the database operations comprise a Join command that joins at least parts of matching records from two or more database tables.
3. The apparatus according to claim 1, wherein the database operations comprise a Group-by command that groups at least parts of matching records of a single database table.
4. The apparatus according to claim 1, wherein the database operations comprise a Group-by command that groups at least parts of matching records of a single database table.
5. The apparatus according to claim 4, wherein the database operations comprise a Join command that joins at least parts of matching records from two or more database tables, and wherein, to apply the Join command, the hardware pipeline is configured to: perform an insertion phase that stores one or more fields of a first subset of the input records, drawn from a first database table, in the memory so as to be accessible by the key; subsequently to the insertion phase, perform a lookup phase that concatenates, according to the key, (i) one or more fields of input records from the first subset stored in the memory and (ii) one or more fields of input records from a second subset of the input records, drawn from a second database table; and stream the concatenated fields from the hardware pipeline.
3. The apparatus according to claim 2, wherein, to apply the Join command, the hardware pipeline is configured to: perform an insertion phase that stores one or more fields of a first subset of the input records, drawn from a first database table, in the memory so as to be accessible by the key; subsequently to the insertion phase, perform a lookup phase that concatenates, according to the key, (i) one or more fields of input records from the first subset stored in the memory and (ii) one or more fields of input records from a second subset of the input records, drawn from a second database table; and stream the concatenated fields from the hardware pipeline.
6. The apparatus according to claim 4, wherein the database operations comprise a Group-by command that groups at least parts of matching records of a single database table, and wherein, to apply the Group-by command, the hardware pipeline is configured to perform, for each input record among at least some of the input records: checking whether the memory already holds a matching entry, having a key that matches the key of the input record; when the memory does not already hold a matching entry, creating a new entry in the memory, and storing in the new entry one or more fields of the input record; and when the memory already holds a matching entry, updating the matching entry in the memory to account for the input record.
5. The apparatus according to claim 4, wherein, to apply the Group-by command, the hardware pipeline is configured to perform, for each input record among at least some of the input records: checking whether the memory already holds a matching entry, having a key that matches the key of the input record; when the memory does not already hold a matching entry, creating a new entry in the memory, and storing in the new entry one or more fields of the input record; and when the memory already holds a matching entry, updating the matching entry in the memory to account for the input record.
7. The apparatus according to claim 6, wherein the hardware pipeline is configured to apply the Group-by command by performing an aggregation phase that groups the matching records in the memory, and an output phase, subsequent to the aggregation phase, that streams the grouped records.
6. The apparatus according to claim 5, wherein the hardware pipeline is configured to apply the Group-by command by performing an aggregation phase that groups the matching records in the memory, and an output phase, subsequent to the aggregation phase, that streams the grouped records.
8. The apparatus according to claim 4, wherein, when two or more of the input records correspond to a same key value, the hardware pipeline is configured to store in the memory two or more entries, which respectively comprise fields of the two or more input records, the two or more entries being accessible by the same key value.
7. The apparatus according to claim 1, wherein, when two or more of the input records correspond to a same key value, the hardware pipeline is configured to store in the memory two or more entries, which respectively comprise fields of the two or more input records, the two or more entries being accessible by the same key value.
9. The apparatus according to claim 8, wherein the hardware pipeline is configured to produce two or more output records corresponding to the two or more input records that match the same key value.
8. The apparatus according to claim 7, wherein the hardware pipeline is configured to produce two or more output records corresponding to the two or more input records that match the same key value.
10. The apparatus according to claim 1, and comprising a controller, which is configured to execute the database operations by streaming the input records via the hardware pipeline in two or more phases, and reconfiguring a hardware of at least one of the table- processing circuits in the hardware pipeline between successive phases.
9. The apparatus according to claim 1, and comprising a controller, which is configured to execute the database command operations by streaming the input records via the hardware pipeline in two or more phases, and reconfiguring a hardware of at least one of the table-processing circuits in the hardware pipeline between successive phases.
11. The apparatus according to claim 1, wherein the hardware pipeline is configured to evaluate, on the input records, a database query comprising multiple database commands, by streaming the input records only once via the hardware pipeline.
10. The apparatus according to claim 1, wherein the hardware pipeline is configured to evaluate, on the input records, a database query comprising multiple database commands, by streaming the input records only once via the hardware pipeline.
Conclusions/Points of Contacts
Any inquiry concerning this communication or earlier communications from the examiner should be directed to MULUEMEBET GURMU whose telephone number is (571)270-7095. 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, Tony Mahmoudi can be reached at 5712724078. 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.
/MULUEMEBET GURMU/Primary Examiner, Art Unit 2163