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 2-21 are pending of which claims 2, 17 and 20 are in independent form.
Claims 2-21 rejected on the ground of nonstatutory double patenting.
Claims 2-21 are rejected under 35 U.S.C. 101 (Abstract Idea).
Claims 2-21 are rejected under 35 U.S.C. 103.
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 filing of a terminal disclaimer by itself is not a complete reply to a nonstatutory double patenting (NSDP) rejection. A complete reply requires that the terminal disclaimer be accompanied by a reply requesting reconsideration of the prior Office action. Even where the NSDP rejection is provisional the reply must be complete. See MPEP § 804, subsection I.B.1. For a reply to a non-final Office action, see 37 CFR 1.111(a). For a reply to final Office action, see 37 CFR 1.113(c). A request for reconsideration while not provided for in 37 CFR 1.113(c) may be filed after final for consideration. See MPEP §§ 706.07(e) and 714.13.
The USPTO Internet website contains terminal disclaimer forms which may be used. Please visit www.uspto.gov/patent/patents-forms. The actual 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/apply/applying-online/eterminal-disclaimer.
Claims 2-21 rejected on the ground of nonstatutory double patenting as being unpatentable over claims 1-19 of U.S. Patent No. US 12118302 B2. Although the claims at issue are not identical, they are not patentably distinct from each other.
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 2-21 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) converting data formats using graph analysis.
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 2 is directed to a method, which is a process
Independent claim 18 is directed to a system which includes a processor, which is directed to one of the four statutory subject matters.
Independent claim 20 is directed to a non-transitory computer program product, which is directed to one of the four statutory subject matters.
Independent All other claims depend on claims 2, 18 and 20. As such, claims 1-20 are directed to a statutory category.
Regarding claims 2, 17 and 20:
With respect to step 2A, prong one (Judicial Exception), 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 sequence of operations that amount to information organization, searching, evaluation, and ranking directed to an abstract idea:
receiving a query for domain registration data;
parsing elements of search query;
identifying one or more search mechanisms;
search dataset using identified mechanism;
identify domain registration data responsive to the query;
returning the domain registration data to the client.
These steps amount to:
collecting information (receiving a query),
Analyzing the information (query parsing),
Selecting a search technique,
Receiving matched data,
Displaying the results.
The claims fall within:
Mental Process (interpreting queries, determining how to search, and locating the records in response to the query/request).
Data Processing/Manipulation and Analysis (analyzing information, selecting a search technique);
Representing the Search Results (returning the domain registration information, also considered insignificant application);
There are no steps performed that provides a technical improvement to the computing system itself (improved RegEx algorithm, improved database indexing, improved memory efficiency, improved cache eviction strategy; improved computing architecture). All the steps are generic, and conventional.
Thus, the claims recite an abstract idea (Mental Process/Data Manipulation algorithm/Presentation).
With respect to step 2A, Prong Two (Particular Application), 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 recite:
A computing device,
A client.
A dataset.
However, these components merely perform generic computer functions, such as: receiving data; parsing data; searching a database; returning results.
These claims do not:
Improve computer functionality,
Improve database structure,
Improve search algorithm,
Solve a technical computer problem,
Provide a specialized data structure or indexing mechanism.
These components merely use conventional computer components as tools to execute the abstract idea.
The computer merely used as a tool, which is an abstract improvement to information presentation and not technical improvements. There is no recitation of, a new data structure that changes computer operation, improved communication, an unconventional indexing/conversion technique, a specific hardware solution.
Instead, the claims recite conventional and generic computer functions performed in a routine manner, which does not amount to 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 recited components are merely generic computer/database elements performing their routine, well-understood, and conventional functions. See Alive, MPEP 2016.05(d).
The steps mentioned in the independent claims merely provide conventional techniques, architecture, or transformation for the system (generic computing device, generic client, generic data search). The steps in the claims are well-understood, routine and conventional.
Considering claims as a whole, the ordered combination of elements also reflects nothing more than the typical workflow of distributed systems, and therefore DOES NOT add “significantly more” than the abstract idea.
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.
Looking at the claim as a whole does not change this conclusion and the claim is ineligible.
Regarding claims 3, 4, and 18 (RDAP Query Format/Protocol Details),
What they add:
The claims further specify:
Search query is a RDAP query;
Comprises an HTTP request;
Specifies a domain and RDAP service;
May include RDAP query extensions.
This is merely specifying the format or protocol used to transmit the search query. This does not change the underlaying concept of: receiving a request; searching data; returning results. HTTP and RDAP are simply conventional communication mechanism for transmitting data requests. Such operations represent data comparison and information retrieval, which are forms of Information Retrieval and Data Analysis.
There is no improvement to:
computer functionality,
data structures, or
processing architecture.
This does not change the nature of the abstract idea. It does not add a technical improvement to an abstract idea, such as improving computer functionality, data structure, or processing architecture.
There is no practical application, and no inventive step, the claims are still considered abstract.
Regarding claims 5, 6, and 14 (RegEx/Query Parsing),
What they add:
The claims further specify:
Extended RegEx;
POSIX RegEx;
Parsing wildcard characters in a query.
RegEx and wildcard parsing are simply techniques for interpreting a search query. These processes represent: analyzing text pattens, determining matching rules; filtering record.
Such operations are mathematical or logical rules used in information processing which is treated as Mathematical Algorithm/Mental process used for information filtering. These claims merely specify how the query is interpreted, which is analyzing information to retrieve record (Abstract Idea).
The claims do not:
Improve pattern matching algorithms,
Improve parsing performance, or
Introduce a new computational technique.
This does not change the nature of the abstract idea. It does not add a technical improvement to an abstract idea, such as improving computer functionality, data structure, or processing architecture.
There is no practical application, and no inventive step, the claims are still considered abstract.
Regarding claims 7-12, 16 and 19 (Multiple Search Mechanism/Search Pipelines),
What they add:
The claims further specify:
Multiple search mechanisms;
Pipeline ordering of searches;
Selecting order based on speed or efficiency
Types of searches such as:
Joined index search
Bitmap filter search
RegEx search
Trigram search
Enhanced bitmap matching
Passing output of one search to another.
These merely describe how a search is executed or optimized. These processes represent: choosing among known search techniques; sequencing search operations; using efficiency considerations to order search mechanisms. These are routine database query planning and filtering techniques.
Such operations are routine data filtering and query optimization. These claims merely add conventional data search and filtering techniques used to implements an abstract idea (Abstract Idea).
The claims do not:
Introduce a new indexing structure,
Improve database architecture,
Improve memory access,
Introduce a new algorithm for searching.
This does not change the nature of the abstract idea. It does not add a technical improvement to an abstract idea, such as improving computer functionality, data structure, or processing architecture.
There is no practical application, and no inventive step, the claims are still considered abstract.
Regarding claim 15 (Domain Registration Dataset),
What they add:
The claims further specify:
Dataset corresponds to DNS registry.
These elements simply describe the type of data being searched. Specifying a particular domain does not change the nature of the claimed operations. This simply retrieves information from a particular dataset. A specific content domain does not make the claim patent eligible.
The claims do not improve:
DNS infrastructure
Network operations.
This does not change the nature of the abstract idea. It does not add a technical improvement to an abstract idea, such as improving computer functionality, data structure, or processing architecture.
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.
Claims 2-4, 7, 14, 15, 17, 18, and 20 are rejected under 35 U.S.C. 103 as being unpatentable over RUSS COX, "Regular Expression Matching with a Trigram Index or How Google Code Search Worked", January 2012 [Cox] in view of Stahura; Paul et al. (US 20170195286 A1) [Stahura].
Regarding claims 2, 17 and 20, Cox discloses, a method comprising: receiving, by a computing device, from a client, a search query for [domain registration] data (p. 1, "Introduction", third paragraph);
parsing elements of the search query for [domain registration] data (p. 2-3, "Indexed Regular Expression Search" and p. 6, "Summary", second paragraph);
identifying, based on the elements parsed from the search query for [domain registration] data, one or more search mechanisms (p. 2-3, "Indexed Regular Expression Search": the search mechanisms disclosed by Cox et al. are trigram index search and full regular expression search);
searching a data set using the one or more identified search mechanisms (p. 2, "Indexed Regular Expression Search", first paragraph);
returning, to the client, the [domain registration] data (P. 2, “Index Regular Expression Search”, first paragraph).
However, Cox does not explicitly facilitate domain registration; based on a result of the searching, identifying a domain registration data responsive to the search query for domain registration data.
Stahura discloses, domain registration; based on a result of the searching, identifying a [domain registration] data responsive to the search query for domain registration data (In some embodiments, after registration of a target domain name has been approved by, for example, registering the appropriate whitelist domain name(s) with the whitelist domain name registry system, the registrant or registrar may submit a request to register the domain name with the appropriate domain name registry. If the domain name registry determines that the registrant, registrar, and/or domain name are subject to oversight or control by a verification system, the domain name registry generates one or more whitelist domain names in accordance with the procedures established by the corresponding verification system. The disclosed system then checks an appropriate whitelist domain name registry system to determine whether the newly-generated whitelist domain name is registered. These checks can be performed by, for example, querying the WHOIS or DNS server of the whitelist domain name registry system, sending an appropriate EPP communication to the whitelist domain name registry system, and so on [0013]-[0014] and [0031]).
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 Stahura’s system would have allowed Cox to facilitate domain registration; based on a result of the searching, identifying a domain registration data responsive to the search query for domain registration data. The motivation to combine is apparent in the Cox’s reference, because there is a need for identifying domain names.
Regarding claims 3 and 18, the combination of Cox, and Stahura discloses, wherein the search query for domain registration data comprises a Registration Data Access Protocol (RDAP) query comprising: a Hypertext Transfer Protocol request specifying a domain, the RDAP service, and a regular expression search (Stahura: This indication can be communicated to the other domain name registry systems via, for example, the DNS, the RDAP, the WHOIS, RDDS, protocols, and so on. In some embodiments, the disclosed system may generate multiple whitelist domain names for registrations, such as "John_Doe.website.domains.valid.zone" (indicating that "John Doe" is pre-approved to register "website.domains,") and "GODADDY.website.domains.valid.zone" (indicating that registrar GODADDY is pre-approved to register website.domains on behalf of at least one registrant) ¶ [0011]. In some embodiments one or more WHOIS database servers may be replaced by, or used in conjunction with, other systems, such as an RDAP server, an RDDS server, and so on. Whitelist domain name system server 124 stores registered whitelist domain names and can include additional DNS records. Whitelist domain name registration component 126 is invoked by a registry system to register whitelist domain names on behalf of a registrant and/or registrar in response to receiving an indication that the registrant and/or registrar have been pre-approved by a corresponding verification system ¶ [0017]. For example, various systems may transmit data structures and other information using various protocols, such as the hypertext transfer protocol (HTTP), the transmission control protocol (TCP), the WHOIS protocol, the extensible provisioning protocol (EPP), RDAP, and so on ¶ [0022]).
Regarding claim 4, the combination of Cox, and Stahura discloses, wherein the search query for domain registration data comprises one or more Registration Data Access Protocol (RDAP) query extensions (Stahura: In this manner, the whitelist domain name registry system and its associated DNS server act as a repository for pre-approved domain name registrations and enable the pre-qualified registrants (including potential or prospective registrants) to then register a target domain name ¶ [0009]-[0011], [0013]-[0014]. This indication can be communicated to the other domain name registry systems via, for example, the DNS, the RDAP, the WHOIS, RDDS, protocols, and so on. In some embodiments, the disclosed system may generate multiple whitelist domain names for registrations, such as "John_Doe.website.domains.valid.zone" (indicating that "John Doe" is pre-approved to register "website.domains,") and "GODADDY.website.domains.valid.zone" (indicating that registrar GODADDY is pre-approved to register website.domains on behalf of at least one registrant) ¶ [0011]. In some embodiments one or more WHOIS database servers may be replaced by, or used in conjunction with, other systems, such as an RDAP server, an RDDS server, and so on. Whitelist domain name system server 124 stores registered whitelist domain names and can include additional DNS records. Whitelist domain name registration component 126 is invoked by a registry system to register whitelist domain names on behalf of a registrant and/or registrar in response to receiving an indication that the registrant and/or registrar have been pre-approved by a corresponding verification system ¶ [0017]. For example, various systems may transmit data structures and other information using various protocols, such as the hypertext transfer protocol (HTTP), the transmission control protocol (TCP), the WHOIS protocol, the extensible provisioning protocol (EPP), RDAP, and so on ¶ [0022]).
Regarding claim 7, the combination of Cox, and Stahura discloses, wherein the one or more search mechanisms comprise two or more search mechanisms (Cox: p. 2-3, "Indexed Regular Expression Search", fourth paragraph).
Regarding claim 14, the combination of Cox, and Stahura discloses, wherein searching the data set comprises searching predefined indices corresponding to the elements of the search query for domain registration data (Cox: p. 2-3, "Indexed Regular Expression Search”).
Regarding claim 15, the combination of Cox, and Stahura discloses, wherein the data set corresponds to a Domain Name System (DNS) registry (Stahura: In this manner, the whitelist domain name registry system and its associated DNS server act as a repository for pre-approved domain name registrations and enable the pre-qualified registrants (including potential or prospective registrants) to then register a target domain name ¶ [0009]-[0011], [0013]-[0014]).
Claims 5, 6, 8, 9, and 19 are rejected under 35 U.S.C. 103 as being unpatentable over Cox in view of Stahura in view of Robson; Barry et al. (US 20170270149 A1) [Robson].
Regarding claim 5, the combination of Cox, and Stahura discloses, wherein the one or more the RDAP query extensions comprise path segments adapted to allow searching [using extended regular expressions] (Stahura: In this manner, the whitelist domain name registry system and its associated DNS server act as a repository for pre-approved domain name registrations and enable the pre-qualified registrants (including potential or prospective registrants) to then register a target domain name ¶ [0009]-[0011], [0013]-[0014]. This indication can be communicated to the other domain name registry systems via, for example, the DNS, the RDAP, the WHOIS, RDDS, protocols, and so on. In some embodiments, the disclosed system may generate multiple whitelist domain names for registrations, such as "John_Doe.website.domains.valid.zone" (indicating that "John Doe" is pre-approved to register "website.domains,") and "GODADDY.website.domains.valid.zone" (indicating that registrar GODADDY is pre-approved to register website.domains on behalf of at least one registrant) ¶ [0011]. In some embodiments one or more WHOIS database servers may be replaced by, or used in conjunction with, other systems, such as an RDAP server, an RDDS server, and so on. Whitelist domain name system server 124 stores registered whitelist domain names and can include additional DNS records. Whitelist domain name registration component 126 is invoked by a registry system to register whitelist domain names on behalf of a registrant and/or registrar in response to receiving an indication that the registrant and/or registrar have been pre-approved by a corresponding verification system ¶ [0017]. For example, various systems may transmit data structures and other information using various protocols, such as the hypertext transfer protocol (HTTP), the transmission control protocol (TCP), the WHOIS protocol, the extensible provisioning protocol (EPP), RDAP, and so on ¶ [0022]).
However, neither Cox nor Stahura explicitly facilitates using extended regular expressions.
Robson discloses, using extended regular expressions (As is known, a regular expression is a formal language for identifying strings of interest. An example of a standard for regular expressions is the IEEE (Institute of Electrical and Electronics Engineers) POSIX (Portable Operating System Interface for Unix) Extended Regular expressions (ERE) standard ¶ [0037]).
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 Robson’s system would have allowed Cox and Stahura to facilitate using extended regular expressions. The motivation to combine is apparent in the Cox and Stahura’s reference, because there is a need for improved similarity search process and computer aided process.
Regarding claim 6, the combination of Cox, Stahura and Robson discloses, wherein the extended regular expressions comprise portable operating system interface (POSIX) regular expressions (Robson: As is known, a regular expression is a formal language for identifying strings of interest. An example of a standard for regular expressions is the IEEE (Institute of Electrical and Electronics Engineers) POSIX (Portable Operating System Interface for Unix) Extended Regular expressions (ERE) standard ¶ [0037]).
Regarding claims 8 and 19, the combination of Cox, Stahura and Robson discloses, further comprising identifying, based on the elements parsed from the search query for domain registration data, a pipeline order for performing the two or more search mechanisms, (Stahura: Furthermore, if the registration application is approved by the verification system, then the hold on the whitelist domain name can be removed and the whitelist domain name can be published (e.g., in the whitelist registry system DNS server and/or other servers). In this manner, the system can apply a first come, first served order to registration of whitelist domain names. In some embodiments ¶ [0010]-[0011]),
wherein the ordering of the pipeline order of the two or more search mechanisms is based on speed and/or efficiency of searching a data set identified by the search query for domain registration data (Robson: In addition, the search tool 150 may, in various ways, improve efficiency of processing the regular expressions 160 ¶ [0039]-[0041]).
Regarding claim 9, the combination of Cox, Stahura and Robson discloses, wherein a last search mechanism in the pipeline order for performing the two or more search mechanisms is a regular expression search (Robson: In addition, the search tool 150 may, in various ways, improve efficiency of processing the regular expressions 160 ¶ [0039]-[0041]).
Claims 10-12, 16 and 21 are rejected under 35 U.S.C. 103 as being unpatentable over Cox in view of Stahura in view of Robson in view of Ninan; Ajit V. et al. (US 20080071781 A1) [Ninan].
Regarding claim 10, the combination of Cox, Stahura and Robson teaches all the limitations of claim 8.
However neither one of Cox, Stahura or Robson explicitly facilitate wherein the two or more search mechanisms comprise at least one of a joined index search, a bitmap filter search, or the regular expression search.
Ninan discloses, wherein the two or more search mechanisms comprise at least one of a joined index search, a bitmap filter search, or the regular expression search (Then, the requested NFA engine 1420 executes the bitcheck command to determine whether characters in the input string appearing after the matched prefix pattern are members of the character set specified by the inexact pattern (step 1507b). More specifically, the NFA engine 1420 begins referencing each input character in a selected portion of the input string (e.g., the input string portion appearing after the matched prefix pattern "acid") to a corresponding bit in a bitmap that indicates whether the input character is a member of the specified character set. For some embodiments, the bitmap may embody the exemplary specified character set by setting each bit in the bitmap that corresponds to a member character to logic "1" and by setting each bit in the bitmap that corresponds to a non-member character to logic "0." Thus, for this example, the bits in the bitmap corresponding to lowercase letters [a-n] are set to logic "1," and all other bits in the bitmap are set to logic "0." Thus, during search operations, if a character look-up in the bitmap generates an asserted (e.g., logic "1") bit value, the input character may be designated as a member or compliant character, and conversely, if the character look-up in the bitmap generates a de-asserted (e.g., logic "0") bit value, the input character may be designated as a non-member or non-compliant character. Further, for some embodiments, a compliance signal (CMPLT) may be asserted (e.g., to logic "1") if the currently selected input character is a member of the specified character set, and the compliance signal (CMPLT) may be de-asserted (e.g., to logic "0") if the currently selected input character is not a member of the specified character set. For other embodiments, the bitmap may be stored in a CAM device within or associated with the content search system ¶ [0167]-[0168]. Also see ¶ [0139] and [0217]).
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 Ninan’s system would have allowed Cox, Stahura and Robson to facilitate wherein the two or more search mechanisms comprise at least one of a joined index search, a bitmap filter search, or the regular expression search. The motivation to combine is apparent in the Cox, Stahura and Robson’s reference, because there is a need to improve increasing the search speed by processing multiple octets from the text string concurrently.
Regarding claim 11, the combination of Cox, Stahura, Robson, and Ninan discloses, wherein a first search mechanism in the pipeline order is the joined index search, and a second search mechanism in the pipeline order is the bitmap filter search or the regular expression search (Ninan: Then, the requested NFA engine 1420 executes the bitcheck command to determine whether characters in the input string appearing after the matched prefix pattern are members of the character set specified by the inexact pattern (step 1507b). More specifically, the NFA engine 1420 begins referencing each input character in a selected portion of the input string (e.g., the input string portion appearing after the matched prefix pattern "acid") to a corresponding bit in a bitmap that indicates whether the input character is a member of the specified character set. For some embodiments, the bitmap may embody the exemplary specified character set by setting each bit in the bitmap that corresponds to a member character to logic "1" and by setting each bit in the bitmap that corresponds to a non-member character to logic "0." Thus, for this example, the bits in the bitmap corresponding to lowercase letters [a-n] are set to logic "1," and all other bits in the bitmap are set to logic "0." Thus, during search operations, if a character look-up in the bitmap generates an asserted (e.g., logic "1") bit value, the input character may be designated as a member or compliant character, and conversely, if the character look-up in the bitmap generates a de-asserted (e.g., logic "0") bit value, the input character may be designated as a non-member or non-compliant character. Further, for some embodiments, a compliance signal (CMPLT) may be asserted (e.g., to logic "1") if the currently selected input character is a member of the specified character set, and the compliance signal (CMPLT) may be de-asserted (e.g., to logic "0") if the currently selected input character is not a member of the specified character set. For other embodiments, the bitmap may be stored in a CAM device within or associated with the content search system ¶ [0167]-[0168]. Also see ¶ [0139] and [0217]).
Regarding claim 12, the combination of Cox, Stahura, Robson, and Ninan discloses, wherein the at least two or more search mechanisms further comprise at least one of a trigraph searching or an enhanced bit-map matching (Ninan: Then, the requested NFA engine 1420 executes the bitcheck command to determine whether characters in the input string appearing after the matched prefix pattern are members of the character set specified by the inexact pattern (step 1507b). More specifically, the NFA engine 1420 begins referencing each input character in a selected portion of the input string (e.g., the input string portion appearing after the matched prefix pattern "acid") to a corresponding bit in a bitmap that indicates whether the input character is a member of the specified character set. For some embodiments, the bitmap may embody the exemplary specified character set by setting each bit in the bitmap that corresponds to a member character to logic "1" and by setting each bit in the bitmap that corresponds to a non-member character to logic "0." Thus, for this example, the bits in the bitmap corresponding to lowercase letters [a-n] are set to logic "1," and all other bits in the bitmap are set to logic "0." Thus, during search operations, if a character look-up in the bitmap generates an asserted (e.g., logic "1") bit value, the input character may be designated as a member or compliant character, and conversely, if the character look-up in the bitmap generates a de-asserted (e.g., logic "0") bit value, the input character may be designated as a non-member or non-compliant character. Further, for some embodiments, a compliance signal (CMPLT) may be asserted (e.g., to logic "1") if the currently selected input character is a member of the specified character set, and the compliance signal (CMPLT) may be de-asserted (e.g., to logic "0") if the currently selected input character is not a member of the specified character set. For other embodiments, the bitmap may be stored in a CAM device within or associated with the content search system ¶ [0167]-[0168]. Also see ¶ [0139] and [0217]).
Regarding claim 16, the combination of Cox, Stahura, Robson, and Ninan discloses, wherein searching the data set further comprises providing an output of a first search mechanism as input to a second search mechanism (Ninan: See Figs. 15A and 15 B).
Regarding claim 21, the combination of Cox, Stahura, Robson, and Ninan discloses, the data structure comprises one or more of: a binary index, a bitmap of letters included in strings of text, a hash table, or sub-strings of strings of text (Ninan: one of the search engine's co-processors may be dedicated to implement bitcheck commands to determine whether selected characters of the input string belong to a set of characters specified by an inexact pattern, and configured to receive (e.g., from an instruction memory) and execute a bitcheck command containing a bitmap that embodies a character set specified by an inexact pattern. In this manner, the bitmap is immediately available for referencing input characters of the input string to the specified set of characters during execution of the bitcheck command. This may be advantageous over other techniques in which a pointer or index in the command is extracted and used as an address to retrieve the bitmap from a large memory that may store many bitmaps embodying many specified sets of characters ¶ [0139], [0167]);
the data set corresponds to a Domain Name System (DNS) registry (Stahura: In this manner, the whitelist domain name registry system and its associated DNS server act as a repository for pre-approved domain name registrations and enable the pre-qualified registrants (including potential or prospective registrants) to then register a target domain name ¶ [0009]-[0011], [0013]-[0014]); and
the search query for domain registration data comprises a Registration Data Access Protocol (RDAP) query comprising: a Hypertext Transfer Protocol request specifying a domain, the RDAP service, and a regular expression search (Stahura: This indication can be communicated to the other domain name registry systems via, for example, the DNS, the RDAP, the WHOIS, RDDS, protocols, and so on. In some embodiments, the disclosed system may generate multiple whitelist domain names for registrations, such as "John_Doe.website.domains.valid.zone" (indicating that "John Doe" is pre-approved to register "website.domains,") and "GODADDY.website.domains.valid.zone" (indicating that registrar GODADDY is pre-approved to register website.domains on behalf of at least one registrant) ¶ [0011]. In some embodiments one or more WHOIS database servers may be replaced by, or used in conjunction with, other systems, such as an RDAP server, an RDDS server, and so on. Whitelist domain name system server 124 stores registered whitelist domain names and can include additional DNS records. Whitelist domain name registration component 126 is invoked by a registry system to register whitelist domain names on behalf of a registrant and/or registrar in response to receiving an indication that the registrant and/or registrar have been pre-approved by a corresponding verification system ¶ [0017]. For example, various systems may transmit data structures and other information using various protocols, such as the hypertext transfer protocol (HTTP), the transmission control protocol (TCP), the WHOIS protocol, the extensible provisioning protocol (EPP), RDAP, and so on ¶ [0022]).
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.
3/16/2026
/MOHAMMAD S ROSTAMI/Primary Examiner, Art Unit 2154