DETAILED ACTION
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 .
Status of Claims
Claims 1-11, 15-18 and 21-25 are pending of which claims 1, 11 and 21 are in independent form.
Claims 1-11, 15-18 and 21-25 are rejected under 35 U.S.C. 101 including (Abstract idea).
Claims 1-11, 15-18 and 21-25 are rejected under 35 U.S.C. 103.
Response to Arguments
Applicant’s arguments with respect to claim(s) 1-11, 15-18 and 21-25 have 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.
Regarding the 35 USC 101 (Abstract Idea), remarks made by the applicant.
Examiner specifies that, the newly added amendments do not overcome the 35 USC 101 rejection.
With respect to step 2A, Prong One:
The claims recite:
Extracting documents from a database.
Transforming documents into index messages.
Obtaining an index message from a message queue.
Updating a searchable index.
Updating a searchable subindex.
Determine whether a message is eligible for a subindex.
Building subindex using extracted documents.
These steps fall into organizing and manipulating information (indexing documents, updating an index, transforming data into messages, and maintaining consistency across indices, transformation...into index message), mental processes (reviewing documents, decide which category to file them under, update folders (subindexes), maintaining consistency) and mathematical concept/algorithm (eligibility determination), which are all considered abstract.
Nothing in the claim improves any technological improvement.
With respect to step 2A, Prong Two:
The claims are generic computer components preforming their routine functions:
Search engine processor
Non-transitory computer readable medium
Message queue system
Index updater
The operation themselves do not improve a computer functions, nor do they improve search engine architecture at a technical level. Instead, the claims merely uses a computer as a tool to carry out an abstract indexing workflow. The recited processors perform no specialize hardware operations, no unconventional memory organization, no improvement to messaging queue, and no novel indexing algorithm.
The recited components perform their ordinary, expected functions, which is considered insufficient. Therefore, the claims do not integrate the abstract idea into a practical application.
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 1-25 are rejected under 35 U.S.C. 101 because the claimed invention is directed to a judicial exception (i.e., a law of nature, a natural phenomenon, or an abstract idea) without significantly more.
The claim(s) recite(s) method and system for index and subindex updates and modification.
With respect to step 1 of the patent subject matter eligibility analysis, the claims are directed to a process, machine, manufacture, or composition of matter.
Independent claim 1 are directed to a system, comprising: one or more processors; and one or more non-transitory computer-readable media used for storing, which is directed to one of the four statutory subject matters.
Independent claim 11 are directed to a method, which is a process.
All other claims depend on claims 1 and 11. As such, claims 1-20 are directed to a statutory category.
With respect to step 2A, Prong One, prong one, the claims recite an abstract idea, law of nature, or natural phenomenon. Specifically, the following limitations recite mathematical concepts and/or mental processes and/or certain methods of organizing human activity.
The claim recites the following limitations directed to an abstract idea:
Extracting documents from a database.
Transforming documents into index messages.
Obtaining an index message from a message queue.
Updating a searchable index.
Updating a searchable subindex.
Determine whether a message is eligible for a subindex.
Building subindex using extracted documents.
These steps fall into:
organizing and manipulating information: managing searchable indexes and subindexes, transforming documents into index messages, and maintaining consistency across indices, are all forms of information organization, which is considered abstract,
mental processes: at conceptual level. Identifying document changes/updates, categorizing them into subsets, and updating records could be performed mentally, which is abstract, and
mathematical concept/algorithm: an index, subindex, eligibility check, and update logic are all data structures and logical rules (mathematical concept) which are all considered abstract.
With respect to step 2A, Prong Two, prong two, the claims do not recite additional elements that integrate the judicial exception into a practical application. The following limitations are considered “additional elements” and explanation will be given as to why these “additional elements” do not integrate the judicial exception into a practical application.
The claims are generic computer components preforming their routine functions:
Search engine processor
Non-transitory computer readable medium
Message queue system
Index updater and subindex updated (merely software modules)
The operation themselves do not improve a computer functions, nor do they improve search engine architecture at a technical level. Instead, the claims merely use a computer as a tool to carry out an abstract indexing workflow. The recited processors and modules perform no specialize hardware operations, no unconventional memory organization, no improvement to messaging queue, and no novel indexing algorithm.
Updating indexes/subindexes “to maintain consistency” is a functional statement to generate results, not a technical improvement.
The recited components perform their ordinary, expected functions, which is considered insufficient. Therefore, the claims do not integrate the abstract idea into a practical application.
With respect to Step 2B. The claims do not include additional elements that are sufficient to amount to significantly more than the judicial exception. The additional limitations are directed to a computer readable storage medium, computer, memory, and processor, at a very high level of generality and without imposing meaningful limitations on the scope of the claim. In addition, pages 2-5 of the published instant specification describe generic off‐the‐shelf computer‐based elements for implementing the claimed invention, which does not amount to significantly more than the abstract idea and is not enough to transform an abstract idea into eligible subject matter. Such generic, high‐level, and nominal involvement of a computer or computer‐based elements for carrying out the invention merely serves to tie the abstract idea to a particular technological environment, which is not enough to render the claims patent‐eligible, as noted at pg.74624 of Federal Register/Vol. 79, No. 241, citing Alice, which in turn cites Mayo. Further, See, e.g., Alice Corp. Pty. Ltd. v. CLS Bank Int'l, 134 S. Ct. 2347, 2359‐60, 110 USPQ2d 1976, 1984 (2014). See also OIP Techs. v. Amazon.com, 788 F.3d 1359, 1364, 115 USPQ2d 1090, 1093‐94 (Fed. Cir. 2015) ("Just as Diehr could not save the claims in Alice, which were directed to 'implement[ing] the abstract idea of intermediated settlement on a generic computer', it cannot save O/P's claims directed to implementing the abstract idea of price optimization on a generic computer.") (citations omitted). See also, Affinity Labs of Texas LLC v. DirecTV LLC, 838 F.3d 1253, 1257‐1258 (Fed. Cir. 2016) (mere recitation of a GUI does not make a claimpatent‐eligible); Intellectual Ventures I LLC v. Capital One Bank, 792 F.3d 1363, 1370 (Fed. Cir. 2015) ("the interactive interface limitation is a generic computer element".).
The additional elements are broadly applied to the abstract idea at a high level of generality ("similar to how the recitation of the computer in the claims in Alice amounted to mere instructions to apply the abstract idea of intermediated settlement on a generic computer,") as explained in MPEP § 2106.05(f)) and they operate in a well‐understood, routine, and conventional manner.
MPEP § 2106.0S(d)(II) sets forth the following:
The courts have recognized the following computer functions as well-understood, routine, and conventional functions when they are claimed in a merely generic manner (e.g., at a high level of generality) or as insignificant extra-solution activity.
• Receiving or transmitting data over a network, e.g., using the Internet to gather data, Symantec ... ; TLI Communications LLC v. AV Auto. LLC ... ; OIP Techs., Inc., v. Amazon.com, Inc ... ; buySAFE, Inc. v. Google, Inc ... ;
• Performing repetitive calculations, Flook ... ; Bancorp Services v. Sun Life ... ;
• Electronic recordkeeping, Alice Corp ... ; Ultramercial ... ;
• Storing and retrieving information in memory, Versata Dev. Group, Inc. v. SAP Am., Inc ... ;
• Electronically scanning or extracting data from a physical document, Content Extraction and Transmission, LLC v. Wells Fargo Bank ... ; and
• A web browser's back and forward button functionality, Internet Patent
• Corp. v. Active Network, Inc. ...
. . . Courts have held computer-implemented processes not to be significantly more than an abstract idea (and thus ineligible) where the claim as a whole amounts to nothing more than generic computer functions merely used to implement an abstract idea, such as an idea that could be done by a human analog (i.e., by hand or by merely thinking).
In addition, when taken as an ordered combination, the ordered combination adds nothing that is not already present as when the elements are taken individually. There is no indication that the combination of elements integrate the abstract idea into a practical application. Their collective functions merely provide conventional computer implementation. Therefore, when viewed as a whole, these additional claim elements do not provide meaningful limitations to transform the abstract idea into a practical application of the abstract idea or that the ordered combination amounts to significantly more than the abstract idea itself.
The dependent claims have been fully considered as well, however, similar to the findings for claims above, these claims are similarly directed to the “Mental Processes” grouping of abstract ideas set forth in the 2019 PEG, without integrating it into a practical application and with, at most, a general purpose computer that serves to tie the idea to a particular technological environment, which does not add significantly more to the claims. The ordered combination of elements in the dependent claims (including the limitations inherited from the parent claim(s)) add nothing that is not already present as when the elements are taken individually. There is no indication that the combination of elements improves the functioning of a computer or improves any other technology. Their collective functions merely provide conventional computer implementation. Accordingly, the subject matter encompassed by the dependent claims fails to amount to significantly more than the abstract idea.
Regarding claims 2 and 12,
The claim recites:
Loading an eligibility dictionary from an eligibility database.
This is merely retrieving data (a dictionary) from a database. Retrieving configuration/look up data is a routine data-processing step and does not add a technical improvement to an abstract idea.
There is no practical application, and no inventive step, the claims are still considered abstract.
Regarding claims 3, and 13,
The claim recites:
Loading an eligibility dictionary when the subindex started.
This is simply specifying when the dictionary is loaded. Start time initialization is a generic software practice and does not add a technical improvement to an abstract idea.
There is no practical application, and no inventive step, the claims are still considered abstract.
Regarding claims 4, and 14,
The claim recites:
Loading an eligibility dictionary when the subindex updater is changed to read from a different message partition.
Switching partitions and loading configuration data is a conventional form trigger update not a technical improvement to an abstract idea.
There is no practical application, and no inventive step, the claims are still considered abstract.
Regarding claims 5, 15 and 22,
The claim recites:
Determining the eligibility based on the directory with the updater.
Using lookup tables to determine eligibility is a logical rule/data lookup, which is information processing information and not a technical improvement to an abstract idea.
There is no practical application, and no inventive step, the claims are still considered abstract.
Regarding claims 6, 16 and 23,
The claim recites:
Determine whether an index message comprises an eligibility change event and updating the eligibility dictionary based on the event.
Determining a “change event” and updating a dictionary is a routine event handling performed by generic software/technology. This does not improve hardware or index algorithms in a technical way to an abstract idea.
There is no practical application, and no inventive step, the claims are still considered abstract.
Regarding claims 7, 17 and 24,
The claim recites:
Index message is generated by a processor when it receives notice of eligibility change event.
Generating a message in response to an event is a conventional publish/event notification pattern and not a technical improvement to an abstract idea.
There is no practical application, and no inventive step, the claims are still considered abstract.
Regarding claims 8, 18 and 25,
The claim recites:
Determine whether an item is eligible in the update dictionary.
This is merely rule-based logic using updated dictionary. There is no technical improvement to an abstract idea.
There is no practical application, and no inventive step, the claims are still considered abstract.
Regarding claims 9, and 19,
The claim recites:
Adding eligible item to the subindex.
Adding items to a data structure based on logical conditions is routine data management that can be performed mentally or by a generic software/technology. There is no technical improvement to an abstract idea.
There is no practical application, and no inventive step, the claims are still considered abstract.
Regarding claims 10, and 20,
The claim recites:
When the item is not eligible deleting it from the subindex.
Deleting data entries based on eligibility criteria is basic data structure maintenance and there is no technical improvement to an abstract idea.
There is no practical application, and no inventive step, the claims are still considered abstract.
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, 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.
Claim(s) 1-5, 11-15 and 21-22 are rejected under 35 U.S.C. 103 as being unpatentable over Deakin; Oliver M. et al. (US 20170272516 A1) [Deakin] in view of Ponce; Cyrill C. et al. (US 9672178 B1) [Ponce] in view Goel; Samir et al. (US 20160055188 A1) [Goel].
Regarding claims 1, 11 and 21, Deakin discloses, a system comprising: a non-transitory computer-readable medium storing computing instructions that, when executed on the processor, cause the processor to perform operations comprising: obtaining an index message at both (a) an index updater for an index (The storing property types relating to the availability of the read message includes, e.g., updating at least one of: an oldest message index before which messages are deleted; a newest message index after which messages are visible; or an indication of visibility of messages between the two indexes ¶ [0015]. Also see ¶ [0058], [0124], [0126]);
updating, by the index updater, the index based on the index message (The storing property types relating to the availability of the read message includes, e.g., updating at least one of: an oldest message index before which messages are deleted; a newest message index after which messages are visible; or an indication of visibility of messages between the two indexes ¶ [0015]. Also see ¶ [0058], [0124], [0126], [0141], [0165]);
However Deakin does not explicitly facilitate (b) a subindex updater for a searchable subindex of a subset of the extracted documents, wherein the subindex [is independently updatable and queryable relative to the index].
Ponce discloses, (b) a subindex updater for a searchable subindex of a subset of the extracted documents, wherein the subindex [is independently updatable and queryable relative to the index] (FIG. 3 is a diagram of an example bit-mapped dependency table with multiple subindex updaters and multiple monitor request routers, in accordance with an embodiment of the invention [col. 3, ll. 20-24]. FIG. 2 shows an example request channel 201 and the relationship of the channel 201 to its corresponding monitoring channel 205. A request 280 is issued by a DMA engine 155 (FIG. 1A) using request channel 201, and a request selector 202 routes the request 280. If the request 280 is an update request 280a, the request 280 is routed to subindex updater 203, wherein the target subindex 282 (in indices 284) is immediately updated in index array 209 [col. 5, ll. 51-58]. Also see [col. 6, ll. 16-40]).
It would have been obvious to one ordinary skilled in the art at the time of the present invention to combine the teachings of the cited references because Ponce’s system would have allowed Deakin to facilitate (b) a subindex updater for a searchable subindex of a subset of the extracted documents, wherein the subindex [is independently updatable and queryable relative to the index]. The motivation to combine is apparent in the Deakin’s reference, because there is a need to improve Direct Memory Access (DMA) engine, by monitoring and configuring to issue an update request to a dependency table if the DMA engine.
Examiner further specifies that Ponce implicitly teaches determining, at the subindex updater, whether the index message is eligible for the subindex; and updating, by the subindex updater, the subindex based on the index message when the index message is eligible for the subindex (These multiple subindex updaters 303 and multiple monitor request routers 308 are used when there are multiple DMA engines 155 connected to the dependency table 100 like the one shown in FIG. 1, which means that there are multiple request channels 104 (FIG. 1) and multiple monitoring channels 105. For update requests, the update selector 301 selects which subindex updater 303 will be granted to write to index array 302. The update selector 301 gives fair write grant opportunities to all subindex updaters 303 such as, for example, by use of a round-robin selection process or another arbitration process [col. 6, ll. 27-37]. Also see [col. 5, ll. 53-58]).
However neither Deakin nor Ponce explicitly facilitate a search engine processor; search engine indexing operations; extracting documents from a database, and transforming the extracted documents into index messages that are saved to a message queue system; obtaining from the message queue system, an index message from the message queue system representative of a change to a document of the extracted documents at both (a) an index updater for a searchable index of the extracted documents and (b) a subindex updater for a searchable subindex of a subset of the extracted documents, wherein the subindex is independently updatable and queryable relative to the index, and wherein updating the subindex maintains consistency regarding the change to the document with the index; updating, by the index updater, the index based on the index message, the updated index reflecting the change to the document; wherein the updating of the subindex comprises building the subindex with the subset of the extracted documents in accordance with the updated index.
Goel discloses, a search engine processor (In addition to search front-end 326, serving system 325 also includes query processor 327 and document index 328 ¶ [0067], [0074]-[0075]);
search engine indexing operations (A multi-user computer search system with methodology for instant indexing of documents is disclosed ¶ [0029]. A possible completion to a completion search query 332 may be defined as a search query 332 that is satisfied by at least one document 340 indexed by document index 328 and that completes the completion query 332. For example, the search query 332 [solved two problems] (no enclosing brackets) satisfied by at least one document 340 indexed by document index 328 may be a possible completion to the completion search query 332 ¶ [0081]);
extracting documents from a database (Query processor 327 may merge retrieved postings lists using a merge algorithm to identify documents 340 that satisfy the query 332. For example, assume the postings list retrieved for the index token “solved” identifies documents D2 and D3, the postings list retrieved for the index token “two” identifies document D2, and the postings list retrieved for the index token “problems” identifies documents D2 and D3 ¶ [0091]. Also see ¶ [0081]), and transforming the extracted documents into index messages that are saved to a message queue system (Tokenizer 322 may receive notification of the change after the change (or a delta encoding thereof) has been synchronized (replicated) from the user's end-user computing device to the cloud data storage service, which also stores a copy (replica) of the document on one or more servers ¶ [0227]. in addition to storing the set of tokens for the new version of the document 340 in Document table 610 of token store 324, tokenizer 322 generates and sends a “changed document” message to instant indexer server 910 (or just “instant indexer 910” for short) via message queue 915. In some embodiments, the changed document message includes the row key (e.g., 611) or other information for identifying the set of tokens in Document table 610 that tokenizer 322 stored in token store 324 for the new version of the document 340 ¶ [0229]-[0230], also see ¶ [0234]);
obtaining from the message queue system, an index message from the message queue system representative of a change to a document of the extracted documents at both (a) an index updater for a searchable index of the extracted documents (Tokenizer 322 may receive notification of the change after the change (or a delta encoding thereof) has been synchronized (replicated) from the user's end-user computing device to the cloud data storage service, which also stores a copy (replica) of the document on one or more servers ¶ [0227]. n addition to storing the set of tokens for the new version of the document 340 in Document table 610 of token store 324, tokenizer 322 generates and sends a “changed document” message to instant indexer server 910 (or just “instant indexer 910” for short) via message queue 915. In some embodiments, the changed document message includes the row key (e.g., 611) or other information for identifying the set of tokens in Document table 610 that tokenizer 322 stored in token store 324 for the new version of the document 340 ¶ [0229]-[0230], also see ¶ [0234]) and (b) a subindex updater for a searchable subindex of a subset of the extracted documents, wherein the subindex is independently updatable and queryable relative to the index (Document-token attributes for documents 340 in postings lists may also be used by query processor 327 to improve query processing efficiency and search result ranking ¶ [0089]-[0090], [0175]. Examiner specifies that posting list may be interpreted as subindex), and wherein updating the subindex maintains consistency regarding the change to the document with the index (Changed document message may be sent by tokenizer 322 to instant indexer 910 after tokenizer 322 tokenizes and generates a set of tokens for a changed document and stores the generated set of tokens in token store 324. For example, tokenizer 322 may add changed document message 1302 to the tail (end) of message queue 915 after processing the changed document ¶ [0286]. he index mutation 352 generated for the changed document may comprise various information including a document namespace group identifier, a document namespace identifier, a document identifier, a list of tokens to use to index the changed document, and/or a list of tokens to no longer use to index the changed document ¶ [0237]);
updating, by the index updater, the index based on the index message, the updated index reflecting the change to the document (In addition to storing the set of tokens for the new version of the document 340 in Document table 610 of token store 324, tokenizer 322 generates and sends a “changed document” message to instant indexer server 910 (or just “instant indexer 910” for short) via message queue 915. In some embodiments, the changed document message includes the row key (e.g., 611) or other information for identifying the set of tokens in Document table 610 that tokenizer 322 stored in token store 324 for the new version of the document 340 ¶ [0229]-[0230], [0234]);
wherein the updating of the subindex comprises building the subindex with the subset of the extracted documents in accordance with the updated index (The index mutation 352 generated for the changed document may comprise various information including a document namespace group identifier, a document namespace identifier, a document identifier, a list of tokens to use to index the changed document, and/or a list of tokens to no longer use to index the changed document ¶ [0237]. If the version of the modified document is a new version of the modified document, then, at step 1020, instant indexer 910 obtains a set of tokens for the new version of the modified document. The set of tokens may be obtained from Document table 610 of token store 324 which were stored there by tokenizer 322 when tokenizing the new version of the modified document ¶ [0263]-[0265]).
It would have been obvious to one ordinary skilled in the art at the time of the present invention to combine the teachings of the cited references because Goel’s system would have allowed Deakin and Ponce to facilitate a search engine processor; search engine indexing operations; extracting documents from a database, and transforming the extracted documents into index messages that are saved to a message queue system; obtaining from the message queue system, an index message from the message queue system representative of a change to a document of the extracted documents at both (a) an index updater for a searchable index of the extracted documents and (b) a subindex updater for a searchable subindex of a subset of the extracted documents, wherein the subindex is independently updatable and queryable relative to the index, and wherein updating the subindex maintains consistency regarding the change to the document with the index; updating, by the index updater, the index based on the index message, the updated index reflecting the change to the document; wherein the updating of the subindex comprises building the subindex with the subset of the extracted documents in accordance with the updated index. The motivation to combine is apparent in the Deakin and Ponce’s reference, because there is a need to improve information retrieval computer systems and, more particularly, to a multi-user search system having a methodology for instant indexing.
Regarding claims 2 and 12, the combination of Deakin, Ponce and Goel discloses, loading an eligibility dictionary within the subindex updater from an eligibility database (Ponce: see Fig. 2, index array 209; Fig. 3, index array 302).
Regarding claims 3 and 13, the combination of Deakin, Ponce and Goel discloses, wherein the eligibility dictionary is loaded when the subindex updater is started (Deakin: The computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus ¶ [0189]).
Regarding claims 4 and 14, the combination of Deakin, Ponce and Goel discloses, wherein the eligibility dictionary is loaded when the subindex updater is changed to read from a different message partition (Deakin: The state topic 150 is written to when a message is read from the message topic 140 in order to update the state information on the messages in the message topic. The state topic 150 also uses partitions 151, 152 to store the state messages. The state topic 150 may store state messages, in the form of a locked state of a message, a visible state of a message, and a deleted state of a message ¶ [0047]).
Regarding claims 5, 15 and 22, the combination of Deakin, Ponce and Goel discloses, wherein determining whether the index message is eligible for the subindex further comprises: determining whether the index message is eligible for the subindex based on an eligibility dictionary within the subindex updater (Ponce: see Fig. 2, index array 209; Fig. 3, index array 302).
Claim(s) 6, 7, 16, 17, 23 and 24 are rejected under 35 U.S.C. 103 as being unpatentable over Deakin in view of Ponce in view Goel in view of Dugan; Michael Keith et al. (US 20240143184 A1) [Dugan].
Regarding claims 6, 16 and 23, the combination of Deakin, Ponce and Goel teaches all the limitations of claims 1, 11 and 21,
However, neither one of Deakin, Ponce or Goel explicitly facilitates wherein determining whether the index message is eligible for the subindex further comprises: determining whether the index message comprises an eligibility change event for the subindex; and updating an eligibility dictionary within the subindex updater based on an eligibility database when the index message comprises the eligibility change event for the subindex.
Dugan discloses, wherein determining whether the index message is eligible for the subindex further comprises: determining whether the index message comprises an eligibility change event for the subindex; and updating an eligibility dictionary within the subindex updater based on an eligibility database when the index message comprises the eligibility change event for the subindex (Dugan: When the current index update completes and the index update queue 334 is allowed to send another update, it will check to see how many entries are valid in the index update queue 334 for each host command queue. If a single entry is valid, then a new write index update message is built using the write index stored in the index update queue 334. If more than one entry is valid in the index update queue 334, then all but the last valid entry in the index update queue 334 may be discarded 336. This is because the responses were retired in order and the indices stored in the index update queue are contiguous and montonically increasing. The entries between the current head of the index update queue 334 and the tail are all valid but only the tail entry is sent since it corresponds to the last response write that has completed. The index in the last entry is used to build 338 the network write index update message and the rest of the entries are discarded by a pop and drop module 336 ¶ [0057], [0061], [0103], [0104]).
It would have been obvious to one ordinary skilled in the art at the time of the present invention to combine the teachings of the cited references because Dugan’s system would have allowed Deakin, Ponce and Goel to facilitates wherein determining whether the index message is eligible for the subindex further comprises: determining whether the index message comprises an eligibility change event for the subindex; and updating an eligibility dictionary within the subindex updater based on an eligibility database when the index message comprises the eligibility change event for the subindex. The motivation to combine is apparent in the Deakin, Ponce and Goel’s reference, because there is a need to improve command responses for corresponding commands between the host device and the memory device.
Regarding claims 7, 17 and 24, the combination of Deakin, Ponce, Goel and Dugan discloses, wherein the index message is generated by a data processor that receives notice of the eligibility change event after the eligibility database is updated (Dugan: index update verification ¶ [0057], [0061], [0103], [0104]).
Claim(s) 8-10, 18-20 and 25 are rejected under 35 U.S.C. 103 as being unpatentable over Deakin in view of Ponce in view Goel in view Dugan in view of GUDEMAN; David A. et al. (US 20140324875 A1) [Gudeman].
Regarding claims 8, 18 and 25, the combination of Deakin, Ponce, Goel and Dugan teaches all the limitations of claims 6, 16 and 23 (respectively).
However neither one Deakin, Ponce, Goel or Dugan explicitly facilitates determining whether an item associated with the index message is eligible in the eligibility dictionary, as updated, when the index message comprises the eligibility change event for the subindex.
GUDEMAN discloses, determining whether an item associated with the index message is eligible in the eligibility dictionary, as updated, when the index message comprises the eligibility change event for the subindex (In some examples, the set of first sub-indexes may include a first set of entries that correspond to updates for adding rows to the data table and a second set of entries that correspond to updates for deleting rows from the data table. In other examples, updating the second sub-index may include: adding entries of the first set of entries to the second sub-index; and removing entries of the second set of entries from the second sub-index ¶ [0018], [0034], [0036], [0044]).
It would have been obvious to one ordinary skilled in the art at the time of the present invention to combine the teachings of the cited references because GUDEMAN’s system would have allowed Deakin, Ponce, Goel and Dugan to facilitate determining whether an item associated with the index message is eligible in the eligibility dictionary, as updated, when the index message comprises the eligibility change event for the subindex. The motivation to combine is apparent in the Deakin, Ponce, Goel and Dugan’s reference, because improved management of indexes capable of supporting large updates on large indexes is desired.
Regarding claims 9 and 19, the combination of Deakin, Ponce, Goel, Dugan and Gudeman discloses, wherein updating the subindex further comprises: adding the item to the subindex based on data for the item in the index message when the item is eligible (Gudeman: In some examples, the set of first sub-indexes may include a first set of entries that correspond to updates for adding rows to the data table and a second set of entries that correspond to updates for deleting rows from the data table. In other examples, updating the second sub-index may include: adding entries of the first set of entries to the second sub-index; and removing entries of the second set of entries from the second sub-index ¶ [0018]. Also see ¶ [0036], [0042]).
Regarding claims 10 and 20, the combination of Deakin, Ponce, Goel, Dugan and Gudeman discloses, wherein, updating the subindex further comprises: deleting the item from the subindex when the item is not eligible (Gudeman: In some examples, the set of first sub-indexes may include a first set of entries that correspond to updates for adding rows to the data table and a second set of entries that correspond to updates for deleting rows from the data table. In other examples, updating the second sub-index may include: adding entries of the first set of entries to the second sub-index; and removing entries of the second set of entries from the second sub-index ¶ [0018]. Also see ¶ [0034], [0036], [0042], [0043], [0045]).
Conclusion
THIS ACTION IS MADE FINAL. 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 MOHAMMAD S ROSTAMI whose telephone number is (571)270-1980. The examiner can normally be reached Mon-Fri From 9 a.m. to 5 p.m..
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.
12/4/2025
/MOHAMMAD S ROSTAMI/Primary Examiner, Art Unit 2154