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 .
1. In response to the Office Action dated on 01/30/2026, applicant(s) amend the application as follow:
Claims amended: 1, 14 and 23
Claims newly added: none
Claims canceled: none
Claims pending: 1-24
Response to Arguments
2. Applicant’s arguments with respect to claim(s) 1, 14 and 23have been considered but are moot because the new ground of rejection does not rely on any reference applied in the prior rejection of record for any teaching or matter specifically challenged in the argument.
Claim Rejections - 35 USC § 103
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
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, 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 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.
This application currently names joint inventors. In considering patentability of the claims the examiner presumes that the subject matter of the various claims was commonly owned as of the effective filing date of the claimed invention(s) absent any evidence to the contrary. Applicant is advised of the obligation under 37 CFR 1.56 to point out the inventor and effective filing dates of each claim that was not commonly owned as of the effective filing date of the later invention in order for the examiner to consider the applicability of 35 U.S.C. 102(b)(2)(C) for any potential 35 U.S.C. 102(a)(2) prior art against the later invention.
3. Claim(s) 1-24 are is/are rejected under 35 U.S.C. 103 as being unpatentable over Walker et al. (Pub. No. US 2016/0292019 A1) in view of GARG et al. (Pub. No. US 2016/0274936 A1) and further in view of Michaylov et al. (Pub. No. US 2006/0294333 A1).
As to claim 1, Walker discloses a method comprising: obtaining a first record lock (event record) (paragraph 0013);
generating one or more records to be consumed by one or more consumer processes (may move the one or more database event record (or indication thereof) to a respective process queue for each of the one or more processes) (paragraph 0013);
first consumer process of the one or more consumer processes (process a, process B and process C are identified copied to each of the processes queues...) (paragraph 0013) and at least a first value associated with a first record of the one or more records is stored in the first queue (event record having the key value of "234") (paragraph 0013);
Walker does not explicitly disclose the first record lock corresponds to available space in a first queue, responsive to receiving a first signal from the first consumer process, freeing the first value associated with the first record from the first queue; and releasing the first record lock responsive to the first value associated with the first record being freed from the first queue
However, GARG discloses responsive to receiving a first signal from the first consumer process, freeing the first value associated with the first record from the first queue; (the threads of the first set of threads share the first DB ring and the thread of second set of threads share the second DB ring When a thread of the first access the first DB ring, the thread acquires a lock to the first DB ring. As the thread locks the first DB ring until the DB ring no other threads of the first set is allowed access to the first DB ring until the running thread (thread that owns the lock) is expected executed to completion. When the running thread is executed completely, it releases the lock and allows another thread of the first set to access the first DB ring) (paragraph 0007).
Michaylov discloses wherein the first record lock corresponds to available space in a first queue (determining if the space is available in each queue for writing a corresponding portion of the data includes ensuring that enough space in each queue is available for writing a commit …) (paragraph 0014) and releasing the first record lock responsive to the first value associated with the first record being freed from the first queue (the queue manager 106 compare the current available space with D such sub.o, given by: D.sub.o=size_1 (open record)+size_of (1 commit record) times. (T.sub.i+1) if the available space is larger than or equal to D.sub.o, then the queue manager 106 unlocks 806 queue_i and writes 808…) (paragraph 0081).
Therefore, it would have been obvious to one ordinary skill in the art before the effective filing date of the instant application to modify teaching of Walker to include the first record lock corresponds to available space in a first queue, responsive to receiving a first signal from the first consumer process, freeing the first value associated with the first record from the first queue; and releasing the first record lock responsive to the first value associated with the first record being freed from the first queue as disclosed by GARG and Michaylov in order to release locked record.
As to claim 2, Walker discloses the method of claim 1, wherein: the one or more queues comprises the first queue associated with the first consumer process and a counter queue (queue) (paragraph 0012) (queue includes process and counter);
the first queue associated with the first consumer process is a record-index queue (multiples queues) (paragraph 0012) (at least one queue include consumer process and record); and
storing the one or more records in the one or more queues comprises:
storing a counter value corresponding to a count of the one or more records in the counter queue (queue) (paragraph 0012); and
storing the first record in the first queue, wherein the first record is the first value associated with the first record (queue store record and counter value) (paragraph 0012).
As to claim 3, Walker discloses the method of claim 2, wherein storing the first record in the first queue further comprises storing, with the first record in the first queue, a counter index associated with the counter value in the counter queue (queue) (paragraph 0012) (record stored in queue and queue includes counter value).
As claim 4, Walker discloses the method of claim 2, further comprising, further responsive to receiving the first signal from the first consumer process, decrementing the counter value in the counter queue (queue) (paragraph 0012) (queue stores records for consumer process).
As to claim 5, Walker discloses the method of claim 2 excepting for wherein the first record lock corresponds to the counter value in the counter queue; and wherein releasing the first record lock is performed responsive to the counter value equaling a lock release value. GARG discloses wherein the first record lock corresponds to the counter value in the counter queue; and wherein releasing the first record lock is performed responsive to the counter value equaling a lock release value (the threads of the first set of threads share the first DB ring and the thread of second set of threads share the second DB ring When a thread of the first access the first DB ring, the thread acquires a lock to the first DB ring. As the thread locks the first DB ring until the DB ring no other threads of the first set is allowed access to the first DB ring until the running thread (thread that owns the lock) is expected executed to completion. When the running thread is executed completely, it releases the lock and allows another thread of the first set to access the first DB ring) (paragraph 0007). This suggests wherein the first record lock corresponds to the counter value in the counter queue; and wherein releasing the first record lock is performed responsive to the counter value equaling a lock release value. Therefore, it would have been obvious to one ordinary skill in the art before the effective filing date of the instant application to modify teaching of Walker to include wherein the first record lock corresponds to the counter value in the counter queue; and wherein releasing the first record lock is performed responsive to the counter value equaling a lock release value as disclosed by GARG in order to process the record.
As to claim 6, Walker discloses the method of claim 2, wherein a length of the first queue is at least double a maximum active entries value of the first queue (queue) (paragraph 0012) (queue includes more space and queue includes more space for more entries).
As to claim 7, Walker discloses the method of claim 2, wherein the first consumer process is associated with a node array, and wherein a length of the first queue is based on a maximum number of records the first consumer process can receive and a maximum number of producer processes that can execute simultaneously (parallel execution) (paragraph 0046).
As to claim 8, Walker discloses the method of claim 2, wherein a length of the counter queue is based on a maximum number of producer processes that can execute simultaneously (queue) (paragraph 0012) (queue include counter).
As to claim 9, Walker discloses the method of claim 1, wherein: the one or more queues comprises the first queue associated with the first consumer process and a unified record queue (database event records) (paragraph 0012);
the first queue associated with the first consumer process is a first index queue (input queue) (paragraph 0012); and
storing the one or more records in the one or more queues comprises:
storing the first record in the unified record queue (master output queue) (paragraph 0012); and
storing an index of the first record in the first queue, wherein the index of the first record is the first value associated with the first record (stored in input queue) (paragraph 0012).
As to claim 10, Walker discloses the method of claim 9 excepting for wherein the first record lock corresponds to a count of the one or more records; and wherein releasing the first record lock is performed responsive to the one or more records being freed from the unified record queue. However, GARG discloses wherein the first record lock corresponds to a count of the one or more records; and wherein releasing the first record lock is performed responsive to the one or more records being freed from the unified record queue (the threads of the first set of threads share the first DB ring and the thread of second set of threads share the second DB ring When a thread of the first access the first DB ring, the thread acquires a lock to the first DB ring. As the thread locks the first DB ring until the DB ring no other threads of the first set is allowed access to the first DB ring until the running thread (thread that owns the lock) is expected executed to completion. When the running thread is executed completely, it releases the lock and allows another thread of the first set to access the first DB ring) (paragraph 0007). This suggests wherein the first record lock corresponds to a count of the one or more records; and wherein releasing the first record lock is performed responsive to the one or more records being freed from the unified record queue. Therefore, it would have been obvious to one ordinary skill in the art before the effective filing date of the instant application to modify teaching of Walker to include wherein the first record lock corresponds to a count of the one or more records; and wherein releasing the first record lock is performed responsive to the one or more records being freed from the unified record queue as disclosed by GARG in order to process the record.
As to claim 11, Walker discloses the method of claim 9, wherein the first queue associated with the first consumer process is a first record queue (input queue) (paragraph 0012).
As to claim 12, Walker discloses the method of claim 9, wherein a length of the first queue is at least double a maximum active entries value of the first queue (queue) (paragraph 0012) (queue size is always larger than the entries meaning double size).
As to claim 13, Walker discloses the method of claim 9, wherein the first consumer process is associated with a node array, and wherein a length of at least one of the first queue or the unified record queue is based on a sum of a maximum number of records that can be received by a subset of the one or more consumer processes and a maximum number of producer processes that can execute simultaneously.
Claim 14 is rejected under same reason as to claim 1, Walker discloses a system comprising: a memory storing one or more queues (memory) (paragraph 0016); and processing circuitry (host processor) (paragraph 0016) coupled to the memory (memory) (paragraph 0016).
Claim 15 is rejected under the same reason as to claim 2.
Claim 16 is rejected under the same reason as to claim 3.
Claim 17 is rejected under the same reason as to claim 4.
Claim 18 is rejected under the same reason as to claim 5.
Claim 19 is rejected under the same reason as to claim 6.
Claim 20 is rejected under the same reason as to claim 9.
Claim 21 is rejected under the same reason as to claim 10.
Claim 23 is rejected under the same reason as to claim 1, Walker discloses a system comprising: a first processor (host processor) (paragraph 0016); a second processor (a co- processor) (paragraph 0016) to generate one or more records to be accessed by the first processor (host processor) (paragraph 0016); and processing circuitry coupled to the first processor (host processor) (paragraph 0016) and the second processor (a co-processor) (paragraph 0016).
Claim 24 is rejected under the same reason as to claim 2.
Conclusion
4. Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to BAOQUOC N TO whose telephone number is (571)272-4041. The examiner can normally be reached Mon-Fri 9AM - 6PM.
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, Boris Gorney can be reached at 571-270-5626. 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.
BAOQUOC N. TO
Examiner
Art Unit 2154
/BAOQUOC N TO/Primary Examiner, Art Unit 2154