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 .
Claims 1-20 are present in this office action. Claims 1-20 are pending.
Drawings
The drawings received on August 14, 2025 are accepted by the Examiner.
This Office Action is Non-Final.
Priority
Application 19/299,800 is a continuation of application 18/656,126 filed on 05/06/2024, now US Patent 12411850, application 18/656,126 is a continuation of application 18/183,483 filed 03/14/2023, now US Patent 12007997, 18183,483 is a Continuation of 17/457,010, filed 11/30/2021, now U.S. Patent # 11,636,110 and 17/457,010 Claims Priority from Provisional Application 63273348, filed 10/29/2021.
Information Disclosure Statement
The information disclosure statement (IDS) submitted on August 14, 2025 is in compliance with the provisions of 37 CFR 1.97. Accordingly, the information disclosure statement has been considered by the examiner.
Abstract Objections
Applicant is reminded of the proper language and format for an abstract of the disclosure.
The abstract should be in narrative form and generally limited to a single paragraph on a separate sheet within the range of 50 to 150 words in length. The abstract should describe the disclosure sufficiently to assist readers in deciding whether there is a need for consulting the full patent text for details.
The language should be clear and concise and should not repeat information given in the title. It should avoid using phrases which can be implied, such as, “The disclosure concerns,” “The disclosure defined by this invention,” “The disclosure describes,” etc. In addition, the form and legal phraseology often used in patent claims, such as “means” and “said,” should be avoided.
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 § 2146 et seq. 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 1, 10 and 19 are rejected on the grounds of on the ground of nonstatutory double patenting as being unpatentable over claims 1, 4, 11, 14, 21 and 24 of US Patent 12/411,850 B2; over claims 1, 3, 10, 12, 19 and 21 of US Patent 12007997 and over claims 1, 9 and 17 of U.S. Patent No 11,636,110 Although the claims at issue are not identical, they are not patentably distinct from each other because claims 1, 4, 11, 14, 21 and 24 of the instant application are obvious variants of claims 1, 3, 10, 12, 19 and 21 of US Patent 12007997 and claims 1, 9 and 17 of U.S. Patent No 11,636,110 .
Claims Comparison Table
U.S. Patent No. 11,636,110
Instant application 19/299,800
U.S. Patent No. 12007997
18656126
1. A method comprising: in response to an operation being performed on a source table, creating a log associated with the operation; based on the log, creating or updating an index record for a N-Gram index associated with the source table to generate a new version of the N-Gram index; based on the index record, updating metadata associated with the N-Gram index to facilitate searching of the N-Gram index; receiving, from a user, a search request including a search string, and in response to the search request including the search string, processing the search request by performing steps including: loading, in a log cache, log data associated with new logs not yet reflected in the N-Gram index, retrieving index records matching the search string and storing the index records in an index cache, merging the log data in the log cache with the index records in the index cache to generate merged data, performing a permission check on the merged data to determine that the user has access rights to the merged data, and generating results of the search request based on the merged data and the permission check, wherein the new logs are updated in the N-gram index in a separate process than processing the search request.
1. A method comprising: receiving, at a database system, a search request comprising a search substring; loading token statistics associated with N-Gram tokens in an index, the token statistics indicating a frequency of occurrence for each N-gram token; selecting a search strategy for processing the search request based on the token statistics; retrieving index records from the N-Gram index matching the search substring according to the selected search strategy; and generating search results for the search request based on the retrieved index records
1. A method comprising: storing a log associated with an operation performed on a source table; creating or updating an index record for a N-Gram index associated with the source table to generate a new version of the N-Gram index based on the log using a background process; receiving, from a user, a search request including a search string; and in response to the search request, processing the search request by performing steps including: loading, in a log cache, log data associated with new logs not yet reflected in the N-Gram index; retrieving index records matching the search string; storing the matched index records in an index cache; merging the log data in the log cache with the matched index records in the index cache to generate merged data; and generating results of the search request based on the merged data, wherein processing the search request is a separate process than the background process used for updating the new logs in the N-gram index.
1. A method comprising: receiving an instruction to enable logging of database operations of a source table stored in a network-based data system; in response to receiving the instruction, scanning existing data objects stored in a metadata database associated with the source table to generate index records for a N-gram index associated with past database operations performed on the source table; scanning the index records in the N-gram index to generate index statistics; updating the N-gram index based on new logs from a log cache to generate a new version of the N-gram index; enabling search of the new version of the N-gram index, the search using the index statistics for execution; receiving, from a user, a search request including a search string; and processing the search request based on the new version of the N-gram index; wherein the new logs are updated in the N-gram index in a separate process than processing the search request.
The method of claim 1, further comprising: loading, in the log cache, log data associated with new logs not yet reflected in the N-Gram index; retrieving index records matching the search string and storing the index records in an index cache; merging the log data in the log cache with the index records in the index cache to generate merged data; and generating results of the search request based on the merged data in the separate process than updating the new logs in the N-gram index.
2. The method of claim 1, further comprising: in response to the search request , loading index statistics of the N-Gram index; retrieving metadata associated with the N-Gram index; and performing post filtering of the merged log data and matched index records..
2. The method of claim 1, further comprising: updating metadata associated with the N-Gram index to facilitate searching of the N-Gram index based on the index record; in response to the search request, loading index statistics of the N-Gram index; retrieving metadata associated with the N-Gram index; and performing post filtering of the merged log data and matched index records.
2. The method of claim 1, further comprising:
receiving, from a user, a search request including a search string;
loading, in a log cache, log data associated with new logs not yet reflected in
the N-Gram index;
retrieving index records matching the search string and storing the index
records in an index cache;
merging the log data in the log cache with the index records in the index
cache to generate merged data; and
generating results of the search request based on the merged data in a
separate process than updating the new logs in the N-gram index.
3. The method of claim 1, wherein the operation includes a delete operation, the method further comprising: generating an index deletion log record associated with the delete operation; marking an index record in the N-Gram index associated with the delete operation; and based on at least one search associated with an older version of the N-Gram index being completed, deleting the marked index record based on the index deletion log record.
4. The method of claim 1, wherein the operation includes a delete operation, the method further comprising: generating an index deletion log record associated with the delete operation; marking an index record in the N-Gram index associated with the delete operation; and based on at least one search associated with an older version of the N-Gram index being completed, deleting the marked index record based on the index deletion log record.
5. The method of claim 1, wherein the past database operations include a delete operation, the method further comprising: generating an index deletion log record associated with the delete operation; marking an index record in the N-Gram index associated with the delete operation; and based on at least one search associated with an older version of the N-Gram index being completed, deleting the marked index record based on the index deletion log record.
5. The method of claim 1, wherein N-Gram index includes partial N-grams for at least last N characters of a name.
8. The method of claim 1, wherein the N-Gram index includes partial N-grams for at least last N characters of a name
6. The method of claim 1, wherein N-Gram index includes partial N-grams for at least last N characters of a name.
7. The method of claim 1, wherein N-Gram index includes partial N-grams for
at least last N characters of a name.
6. The method of claim 1, wherein index records for the N-Gram index include a prefix portion indicating whether the corresponding index record is for a prefix substring.
7. The method of claim 1, wherein index records for the N-Gram index include a prefix portion indicating whether a corresponding index record is for a prefix substring.
8. The method of claim 1, wherein index records for the N-Gram index include
a prefix portion indicating whether a corresponding index record is for a prefix
substring.
7. The method of claim 1, wherein the log includes an account ID, a chunk ID, a timestamp, a domain ID, and an entity ID.
7. The method of claim 3, wherein a log in the log records comprises an account ID, a chunk ID, a timestamp, a domain ID, and an entity ID
8. The method of claim 1, wherein the log includes an account ID, a chunk ID, a timestamp, a domain ID, and an entity ID.
9. The method of claim 1, wherein the log includes an account ID, a chunk ID,
a timestamp, a domain ID, and an entity ID
Claims rejection 35 U.S.C. 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.
Claims 1-2, 10-12 and 19-20 are rejected under AIA 35 U.S.C. 103 as being unpatentable over Pawar et al. (US 2019/0205474 A1) in view of Anderson et al. (US 20130124525 A1).
Regarding claims 1, 10 and 19 Pawar discloses a method comprising: receiving, at a database system, a search request comprising a search substring (see Pawar paragraph [0064], apart from batch or offline processing of metadata in the mining-search-log database, a real-time component of the social-networking system 160 may generate metadata in real-time and process a search query based on this real-time generated metadata);
loading token statistics associated with N-Gram tokens in an index, the
token statistics indicating a frequency of occurrence for each N-gram token (see Pawar paragraph [0067], For each identified n-gram, the NLP component of the social-networking system 160 may make a call to the MSL service component, which may be a back-end software service that retrieves metadata relating to the n-gram from the mining-search-log database and returns the metadata for further processing (e.g., entity identification, ranking search results, query rewriting, etc.). In particular embodiments, for each identified n-gram, the MSL service component returns at-least (1) the top N entity identifiers (IDs) corresponding to entities associated with the identified n-gram);
retrieving index records from the N-Gram index matching the search
substring according to the selected search strategy (see Pawar paragraph [0069], Using the metadata retrieved from the mining-search-log database (as shown for example in FIG. 5), the social-networking system 160 may rank the content objects matching the search query based on whether the content objects contain one or more of top N entities or one or more of top K co-occurring n-grams from the metadata retrieved from the mining-search-log database);
generating search results for the search request based on the retrieved index
records (see Pawar paragraph [0058], The search engine may conduct a search based on the query phrase using various search algorithms and generate search results that identify resources or content (e.g., user-profile interfaces, content-profile interfaces, or external resources) that are most likely to be related to the search query. To conduct a search, a user may input or send a search query to the search engine. In response, the search engine may identify one or more resources that are likely to be related to the search query, each of which may individually be referred to as a “search result,” or collectively be referred to as the “search results” corresponding to the search query).
Anderson expressly discloses token statistics … (see Anderson paragraph [0075] those tokens identified as distinctive by a statistical test, for example, those whose count exceeds the sum of the mean plus the standard deviation of counts of tokens in a local neighborhood, may be identified as "(local) positive tokens." A similar identification may be made for tokens in a canonical neighborhood or indeed any neighborhood.) For tokens formed from individual words in a company or personal name, a positive token is statistically likely to be an "actual" word or name, as opposed say to being a typographical variant formed in error. That is, the frequency of occurrence of the token is high enough that, within the context of its neighborhood within the dataset, it is unlikely that the token occurred by accident; see Anderson paragraph [0077] Many local neighborhoods will have one positive token. The positive tokens are in a statistical sense the "actual" tokens--the other tokens are comparatively rare variants. Some local neighborhoods may have no positive tokens because the frequency of occurrence of all variant tokens is similar. This may happen especially for tokens that are rare in the dataset where there are insufficient statistics to distinguish the positive tokens)
selecting a search strategy for processing the search request based on the
token statistics (see Pawar paragraph [0185], a raw query may continue until all queries from an expanded query are rejected, after which the query record must be reprocessed using an alternative search strategy).
Regarding claims 2 and 11 Pawar discloses wherein the search strategy comprising at last one of performing a top-down search when all N-Gram tokens in the search substring are popular tokens according to the token statistics (see Pawar paragraph [0067], For each identified n-gram, the NLP component of the social-networking system 160 may make a call to the MSL service component, which may be a back-end software service that retrieves metadata relating to the n-gram from the mining-search-log database and returns the metadata for further processing (e.g., entity identification, ranking search results, query rewriting, etc.). In particular embodiments, for each identified n-gram, the MSL service component returns at-least (1) the top N entity identifiers (IDs) corresponding to entities associated with the identified n-gram), or
performing a targeted search using a least-popular N-Gram token in the
search substring when at least one token is not popular (see Pawar paragraph [0056], for the n-gram “Donald”, the metadata may include two top entity identifiers: ID 0001 having a name string “Donald Trump” with a CTR of 90%, and ID 0005 having a name string “Donald Duck” with a CTR of 10%. That is, when people searched for “Donald”, 90% of the time they clicked, viewed, interacted with content (e.g., posts, photos, videos, etc.) relating to the entity “Donald Trump”, and the remaining 10% of the time they clicked on content relating to “Donald Duck”. By using this metadata, the social-networking system 160, when processing a search query (e.g., search query “Donald”), would be able to determine that the entity most likely referenced here is “Donald Trump,” and hence may link the query to the entity ID 0001 (e.g., map the query as being related to “Donald Trump” or determine that user search or query is regarding “Donald Trump”) to improve the quality of retrieved content (e.g., by upranking posts tagging this entity)).
Claims 3-6 and 12-15 are rejected under AIA 35 U.S.C. 103 as being unpatentable over Pawar et al. (US 2019/0205474 A1) in view of Anderson et al. (US 20130124525 A1) further in view of Jiang (US 2018/0075050 A1).
Regarding claims 3 and 12, Pawar discloses retrieving log records corresponding to operations not yet reflected in the N Gram index (see Pawar paragraph [0067], For each identified n-gram, the NLP component of the social-networking system 160 may make a call to the MSL service component, which may be a back-end software service that retrieves metadata relating to the n-gram from the mining-search-log database and returns the metadata for further processing (e.g., entity identification, ranking search results, query rewriting, etc.). In particular embodiments, for each identified n-gram, the MSL service component returns at-least (1) the top N entity identifiers (IDs) corresponding to entities associated with the identified n-gram).
Jiang expressly discloses merging the retrieved index records with the log records to generate the search results (see Jiang paragraph [0126], the client device may execute the block 710, initiate an index obtaining request to the data node selector to request for downloading the index. At block 720, the data node selector may determine the key interval, at which the index may be located, according to the file ID in the index obtaining request. At block 730, the data node selector may return a result to the client device; see Jiang paragraph [0127] The client device may first download the index from the Delta of the key interval at block 740, to search the Delta to determine whether the metadata including the index is stored in the Delta and return a corresponding search result).
It would have been obvious to a person of ordinary skill in art before the effective filing date of the claimed invention to incorporate the teaching of Jiang into the method of Pawar to have merging the log data with the matched index records. Here, combining Jiang with Pawar, which are both related to data processing improves Pawar, by providing a technique for identifying standard representation terms for to-be-standardized data (see Jiang paragraph [0004]).
Regarding claims 4 and 13, Pawar discloses wherein the log records are updated with new logs in a separate process than generating the search results (see Pawar paragraph [0067], For each identified n-gram, the NLP component of the social-networking system 160 may make a call to the MSL service component, which may be a back-end software service that retrieves metadata relating to the n-gram from the mining-search-log database and returns the metadata for further processing (e.g., entity identification, ranking search results, query rewriting, etc.). In particular embodiments, for each identified n-gram, the MSL service component returns at-least (1) the top N entity identifiers (IDs) corresponding to entities associated with the identified n-gram).
Regarding claims 5 and 14, Pawar discloses Jiang expressly discloses performing post filtering of the merged log records and index records (see Jiang paragraph [0123], The client device may receive an upload result returned by the data node at block 670 to obtain whether the file may have been successively uploaded. When the file is successively uploaded, the metadata may be generated according to the file ID and the allocated storage position, and the upload operation of the metadata may be further executed at block 680 to write the metadata in the Delta and create the index corresponding to the file. At block 690, the Delta may return an upload result to the client device).
It would have been obvious to a person of ordinary skill in art before the effective filing date of the claimed invention to incorporate the teaching of Jiang into the method of Pawar to have merging the log data with the matched index records. Here, combining Jiang with Pawar, which are both related to data processing improves Pawar, by providing a technique for identifying standard representation terms for to-be-standardized data (see Jiang paragraph [0004]).
Regarding claims 6 and 15, Pawar discloses performing a permission check on merged data to determine that a user has access rights to the merged data (see Pawar paragraph [0030], Authorization servers may be used to enforce one or more privacy settings of the users of the social-networking system 160. A privacy setting of a user determines how particular information associated with a user can be shared. The authorization server may allow users to opt in to or opt out of having their actions logged by the social-networking system 160 or shared with other systems (e.g., a third-party system 170), such as, for example, by setting appropriate privacy settings).
Claims 7 -9 and 19-20 are rejected under AIA 35 U.S.C. 103 as being unpatentable over Pawar et al. (US 2019/0205474 A1) view of Anderson et al. (US 20130124525 A1) further in view of Gaitonde (US 20130067062 A1).
Regarding claims 7 and 16 Gaitonde expressly discloses wherein a log in the log records comprises an account ID, a chunk ID, a timestamp, a domain ID, and an entity ID (See Gaitonde paragraph [0027], The information collected from various sources is combined to create records mapping the IP address, MAC address and host name from IP address lease events/logs and user name/account ID from the authentication events/logs. In one approach, the records may be created in the form of a tuple (ordered list) such as: timestamp of authentication event, IP address, MAC address/DUID, host name, user name/account. Now, the records map particular users/user accounts to IP addresses. Of course records may be configured in any suitable way of which the example tuple is but one example).
It would have been obvious to a person of ordinary skill in art before the effective filing date of the claimed invention to incorporate the teaching of Gaitonde into the method of Pawar to have wherein the log includes an account ID, a chunk ID, a timestamp, a domain ID, and an entity ID. Here, combining Gaitonde with Pawar, which are both related to data processing improves Pawar, by providing a technique for enabling a network administrator to search events for a given time frame and obtain results mapping a user/user account to particular devices identified by the IP address, MAC address, and/or host name (see Gaitonde paragraph [0011]).
Regarding claims 8 and 17 Pawar discloses wherein the N-Gram index includes partial N-grams for at least last N characters of a name (see Pawar paragraph [0056], for the n-gram “Donald”, the metadata may include two top entity identifiers: ID 0001 having a name string “Donald Trump” with a CTR of 90%, and ID 0005 having a name string “Donald Duck” with a CTR of 10%. That is, when people searched for “Donald”, 90% of the time they clicked, viewed, interacted with content (e.g., posts, photos, videos, etc.) relating to the entity “Donald Trump”, and the remaining 10% of the time they clicked on content relating to “Donald Duck”. By using this metadata, the social-networking system 160, when processing a search query (e.g., search query “Donald”), would be able to determine that the entity most likely referenced here is “Donald Trump,” and hence may link the query to the entity ID 0001 (e.g., map the query as being related to “Donald Trump” or determine that user search or query is regarding “Donald Trump”) to improve the quality of retrieved content (e.g., by upranking posts tagging this entity)).
Regarding claims 9 and 18 Gaitonde expressly discloses wherein index records for the N-Gram index include a prefix portion indicating whether a corresponding index record is for a prefix substring (See Gaitonde paragraph [0027], The information collected from various sources is combined to create records mapping the IP address, MAC address and host name from IP address lease events/logs and user name/account ID from the authentication events/logs. In one approach, the records may be created in the form of a tuple (ordered list) such as: timestamp of authentication event, IP address, MAC address/DUID, host name, user name/account. Now, the records map particular users/user accounts to IP addresses. Of course records may be configured in any suitable way of which the example tuple is but one example).
It would have been obvious to a person of ordinary skill in art before the effective filing date of the claimed invention to incorporate the teaching of Gaitonde into the method of Pawar to have index includes an account ID, a prefix portion, an index version, a domain ID, and a parent entity ID. Here, combining Gaitonde with Pawar, which are both related to data processing improves Pawar, by providing a technique for enabling a network administrator to search events for a given time frame and obtain results mapping a user/user account to particular devices identified by the IP address, MAC address, and/or host name (see Gaitonde paragraph [0011]).
Remarks
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure Gurajada (US 20190354446 A1) discloses Data recovery in a database includes performing a backward scan of a transaction log that records transactions made on the database.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to DINKU W GEBRESENBET whose telephone number is (571)270-1636. The examiner can normally be reached between 8:00AM-5:00PM.
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, Amy Ng can be reached on 571- 270-1698. 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.
/DINKU W GEBRESENBET/Primary Examiner, Art Unit 2164