Prosecution Insights
Last updated: May 29, 2026
Application No. 18/640,346

ENTITY RELATIONSHIP DIAGRAM GENERATION FOR DATABASES

Final Rejection §103
Filed
Apr 19, 2024
Examiner
COLAN, GIOVANNA B
Art Unit
2165
Tech Center
2100 — Computer Architecture & Software
Assignee
Western Digital Technologies Inc.
OA Round
4 (Final)
72%
Grant Probability
Favorable
5-6
OA Rounds
1y 4m
Est. Remaining
99%
With Interview

Examiner Intelligence

Grants 72% — above average
72%
Career Allowance Rate
222 granted / 306 resolved
+17.5% vs TC avg
Strong +28% interview lift
Without
With
+28.5%
Interview Lift
resolved cases with interview
Typical timeline
3y 5m
Avg Prosecution
11 currently pending
Career history
318
Total Applications
across all art units

Statute-Specific Performance

§101
1.4%
-38.6% vs TC avg
§103
75.3%
+35.3% vs TC avg
§102
21.9%
-18.1% vs TC avg
§112
0.7%
-39.3% vs TC avg
Black line = Tech Center average estimate • Based on career data from 306 resolved cases

Office Action

§103
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 . Claim Rejections - 35 USC § 103 In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status. The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action: A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made. The factual inquiries set forth in Graham v. John Deere Co., 383 U.S. 1, 148 USPQ 459 (1966), that are applied for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows: 1. Determining the scope and contents of the prior art. 2. Ascertaining the differences between the prior art and the claims at issue. 3. Resolving the level of ordinary skill in the pertinent art. 4. Considering objective evidence present in the application indicating obviousness or nonobviousness. Claims 1 -20 are rejected under 35 U.S.C. 103 as being unpatentable over Paul Carmody (Non-Patent Literature: Paul Carmody, "A Modern Approach to Generating ERDs using JS and ChatGPT", October 16, 2023, available at:https://www.linkedin.com/pulse/modern-approach-generating-erds-using-js-chatgpt-paul-carmody/), in view of O’Kelly et al. (US 2025/0005300), and further in view of Nakamura et al. (US 2023/0168884). Regarding Claims 1, 10, and 19, Carmody discloses a database system, comprising: at least one data storage device configured to store at least one database (Page 2, SQL databases, Carmody); and one or more processors, individually or in combination, configured to (Page 2, SQL Server databases, Carmody): receive a plurality of Structured Query Language (SQL) commands including one or more SQL commands for the at least one of accessing and modifying the at least one database (Page 2, “using relational databases like MySQL or PostgreSQL… SQL Server,” since Camody does disclose using relational databases; then Camody inherently teaches receiving a plurality of SQL commands for at least one database as claimed since SQL commands are instructions used to interact with relational databases; Camody) identifying, from the selected of SQL commands, entities in the selected SQL commands, attributes of the entities, and relationships between entities (Page 2, SQL databases and “Brainstorm,” Page 2, “using relational databases like MySQL or PostgreSQL… SQL Server,” since Camody does disclose using relational databases; then Camody inherently teaches receiving a plurality of SQL commands for at least one database as claimed since SQL commands are instructions used to interact with relational databases; Carmody); translating the identified entities, attributes, and relationships into a language code using a Large Language Model (LLM) (Page 2, “Chat with ChatGPT,” Carmody); and performing at least one of generating and updating the ERD for the at least one database based on the language code (Page 3, “watch your ERD come to life,” Carmody). However, Carmody does not expressly disclose: a visual markup language code. O’Kelly discloses: translating the identified entities, attributes, and relationships into a visual markup language code using a Large Language Model (LLM) ([0578] and [0580], O’Kelly). It would have been obvious to one of ordinary skill in the art before the effective filing date of the invention to modify the system of Carmody by incorporating the visual markup language code, as disclosed by O’Kelly, in order to provide a language that a layperson can easily understand. See: KSR International Co. v. Teleflex Inc., 82 USPQ 1385, 1396 (US 2007); MPEP § 2143. However, Carmody/O’Kelly does not expressly disclose select SQL commands and use the selected SQL commands for at least one of generating and updating an Entity Relationship Diagram (ERD). Nakamura discloses receive from one or more clients, a plurality of SQL commands including one or more SQL commands for at least one of accessing and modifying the at least one database ([0025], “a user desiring the entity relationship diagrams, can upload into the system the programs (P) for the applications. In some embodiments, the interface 201 provides a user interface through which the user provides data to the system 200,” Fig. 6, 152, 150, 102, wherein uploading corresponds to receiving the SQL commands as claimed; Nakamura); select, based on at least one criterion, SQL commands from among the plurality of SQL commands ([0026], “extract SQL statement in the programs: Q; extract tables referenced by each of the SQL statements: S.Math.Q×2.sup.T; extract program-to-program call relationships: C.Math.P×P; and extract program to table use relationships,” Nakamura); and use the selected SQL commands for at least one of generating and updating an ERD for the at least one database ([0032], “creating edges based on the number of co-occurrences of tables in the same SQL statement. In block 4 of the method illustrated in FIG. 2, add the table pairs to the edges E in the descending order of the number of co-occurrences in the tables references by each SQL statement,” [0050], “may generate an entity-relationship diagrams from source code. The output being the set of edges, e.g., produced at blocks 4 and 7, as well as the set of tables (T), which were extracted as data from programs. This can include plotting the graphs for the entity-relationship diagrams on a user interface display. In further embodiment, plotting can include an output from the system to plotting apparatus for producing a physical plot,” [0064], Nakamura). It would have been obvious to one of ordinary skill in the art before the effective filing date of the invention to modify the system of Carmody/O’Kelly by incorporating the receiving from one or more clients, selecting SQL commands; and using the selected SQL commands for at least one of generating and updating an ERD, as disclosed by Nakamura in order to provide software maintenance, replacement of technology infrastructures and application modernization ([0001], Nakamura). See: KSR International Co. v. Teleflex Inc., 82 USPQ 1385, 1396 (US 2007); MPEP § 2143. Regarding Claims 2 and 20, Carmody/O’Kelly/Nakamura discloses a database system of Claim 1, wherein the one or more processors, individually or in combination, are further configured to merge at least two of the identified entities, attributes, or relationships for representation in the ERD (Page 2, “Chat with ChatGPT,” Carmody). Regarding Claim 3, Carmody/O’Kelly/Nakamura discloses a database system of Claim 2, wherein the one or more processors, individually or in combination, are further configured to use the LLM or another LLM to merge the at least two of the identified entities, attributes, or relationships (Page 2, “Chat with ChatGPT,” Carmody). Regarding Claim 4, Carmody/O’Kelly/Nakamura discloses a database system of Claim 2, wherein the one or more processors, individually or in combination, are further configured to merge the at least two of the identified entities, attributes, or relationships before translating the identified entities, attributes, and relationships into the visual markup language code (Page 2, “Chat with ChatGPT,” Carmody). Regarding Claim 5, Carmody/O’Kelly/Nakamura discloses a database system of Claim 1, wherein the one or more processors, individually or in combination, are further configured to provide the selected SQL commands from a log to the LLM or to another LLM to identify the entities, attributes, and relationships (Page 2, SQL databases and “Brainstorm,” Carmody; and [0064], Nakamura). Regarding Claim 6, Carmody/O’Kelly/Nakamura discloses a database system of Claim 1, wherein the one or more processors, individually or in combination, are further configured to: store a log of SQL commands received for the at least one database including the plurality of SQL commands (Page 2, SQL databases and “Brainstorm,” Carmody); and identify the entities, the attributes of the entities, and the relationships between the entities from the selected SQL commands in response to at least one of a time since a last identification of entities, attributes, and relationships, a number of SQL commands being stored in the log, and an input from a user of the database system (Page 2, “Chat with ChatGPT,” Carmody). Regarding Claim 7, Carmody/O’Kelly/Nakamura discloses a database system of Claim 1, wherein the at least one criterion includes whether a SQL command was successfully-performed, and wherein the one or more processors, individually or in combination, are further configured to: select successfully-performed SQL commands from among the plurality of SQL commands to include in the selected SQL commands for identifying the entities, attributes, and relationships (Page 2, SQL databases and “Brainstorm,” Carmody; and [0064], Nakamura). Regarding Claim 8, Carmody/O’Kelly/Nakamura discloses a database system of Claim 1, wherein the at least one criterion includes whether a SQL command includes at least one relationship between entities in the SQL command, and wherein the one or more processors, individually or in combination, are further configured to: select SQL commands including relationships between entities from among the plurality of SQL commands in the log to include in the selected SQL commands for identifying the entities, attributes, and relationships (Page 2, SQL databases and “Brainstorm,” Carmody; and [0064], Nakamura). Regarding Claim 9, Carmody/O’Kelly/Nakamura discloses a database system of Claim 1, wherein the one or more processors, individually or in combination, are further configured to use at least one of metadata and schema information from the identified entities to populate attributes for representation in the ERD (Page 3, “watch your ERD come to life,” Carmody). Regarding Claim 11, Carmody/O’Kelly/Nakamura discloses a method of Claim 10, further comprising merging at least two of the identified entities, attributes, or relationships for representation in the ERD (Page 2, “Chat with ChatGPT,” Carmody). Regarding Claim 12, Carmody/O’Kelly/Nakamura discloses a method of Claim 11, further comprising using the LLM or another LLM to merge the at least two of the identified entities, attributes, or relationships (Page 2, “Chat with ChatGPT,” Carmody). Regarding Claim 13, Carmody/O’Kelly/Nakamura discloses a method of Claim 11, wherein merging the at least two of the identified entities, attributes, or relationships occurs after translating the identified entities, attributes, and relationships into the visual markup language code (Page 2, “Chat with ChatGPT,” Carmody). Regarding Claim 14, Carmody/O’Kelly/Nakamura discloses a method of Claim 10, wherein translating the identified entities, attributes, and relationships into the visual markup language code is performed using the LLM or another LLM (Page 2, “Chat with ChatGPT,” Carmody). Regarding Claim 15, Carmody/O’Kelly/Nakamura discloses a method of Claim 10, further comprising: storing a log of SQL commands received for the at least one database (Page 2, SQL databases, Carmody; and [0064], Nakamura); and providing the selected SQL commands from the log to the LLM in response to at least one of a time since previously providing SQL commands to the LLM, a number of SQL commands being stored in the log, and an input from a user (Page 2, SQL databases and “Brainstorm,” Carmody; and [0064], Nakamura). Regarding Claim 16, Carmody/O’Kelly/Nakamura discloses a method of Claim 10, wherein the at least one criterion includes whether a SQL command was successfully-performed, and wherein the method further comprises: selecting successfully-performed SQL commands from among the plurality of SQL commands to include in the selected SQL commands to be provided to the LLM to identify the entities, attributes, and relationships (Page 2, SQL databases and “Brainstorm,” Carmody; and [0064], Nakamura). Regarding Claim 17, Carmody/O’Kelly/Nakamura discloses a method of Claim 10, wherein the at least one criterion includes whether a SQL command includes at least one relationship between entities in the SQL command, and wherein the method further comprises: selecting SQL commands including relationships between entities from among the plurality SQL commands to include in the selected SQL commands to be provided to the LLM to identify the entities, attributes, and relationships (Page 2, SQL databases and “Brainstorm,” Carmody; and [0064], Nakamura). Regarding Claim 18, Carmody/O’Kelly/Nakamura discloses a method of Claim 10, further comprising using at least one of metadata and schema information from the identified entities to populate attributes for representation in the ERD (Page 3, “watch your ERD come to life,” Carmody). Claims 21-22 are rejected under 35 U.S.C. 103 as being unpatentable over Paul Carmody (Non-Patent Literature: Paul Carmody, "A Modern Approach to Generating ERDs using JS and ChatGPT", October 16, 2023, available at:https://www.linkedin.com/pulse/modern-approach-generating-erds-using-js-chatgpt-paul-carmody/), in view of O’Kelly et al. (US 2025/0005300), in view of Nakamura et al. (US 2023/0168884), and further in view of Leslie H. Swanson (US 2024/0005371). Regarding Claim 21, Carmody/O’Kelly/Nakamura discloses all the limitations as discussed above including update the ERD and merging visual markup language code (Page 3, “watch your ERD come to life,” Carmody; and [0578] and [0580], O’Kelly). However, Carmody/O’Kelly/Nakamura does not expressly disclose merging a previously-stored visual markup language code for the ERD with the visual markup language code. Swanson discloses: update the ERD by, at least in part, merging a previously-stored visual markup language code for the ERD with the visual markup language code ([0081] and Table 00006, “Combine the record and SVG file contents into and generate a html and XML combination with JavaScript to handle the change of SVG graphics according to media and technology selection by the user in the pull down combo box.- Handle on select event of the .html combo. SVG should be embedded into the html”, Swanson). It would have been obvious to one of ordinary skill in the art before the effective filing date of the invention to modify the system of Carmody/O’Kelly/Nakamura by incorporating merging a previously-stored visual markup language code for the ERD with the visual markup language code, as disclosed by Swanson, in order to keep the ERD up to date. See: KSR International Co. v. Teleflex Inc., 82 USPQ 1385, 1396 (US 2007); MPEP § 2143. Regarding Claim 22, Carmody/O’Kelly/Nakamura/Swanson discloses a method of Claim 10, further comprising updating the ERD by, at least in part, merging a previously-stored visual markup language code for the ERD with the visual markup language code (Page 3, “watch your ERD come to life,” Carmody; [0578] and [0580], O’Kelly; and [0081] and Table 00006, “Combine the record and SVG file contents into and generate a html and XML combination with JavaScript to handle the change of SVG graphics according to media and technology selection by the user in the pull down combo box.- Handle on select event of the .html combo. SVG should be embedded into the html”, Swanson). Response to Arguments Applicant argues that the applied art fails to disclose; “receiving, from one or more clients, a plurality of SQL commands including one or more SQL commands for at least one of accessing and modifying at least one database, and selecting, based on at least one criterion, SQL commands from among the plurality of SQL commands to use for at least one of generating and updating an ERD.” The Examiner respectfully disagrees. The applied art does disclose; receiving, from one or more clients, a plurality of SQL commands including one or more SQL commands for at least one of accessing and modifying at least one database (Page 2, “using relational databases like MySQL or PostgreSQL… SQL Server,” since Camody does disclose using relational databases; then Camody inherently teaches receiving a plurality of SQL commands for at least one database as claimed since SQL commands are instructions used to interact with relational databases; Camody; and [0025], “a user desiring the entity relationship diagrams, can upload into the system the programs (P) for the applications. In some embodiments, the interface 201 provides a user interface through which the user provides data to the system 200,” Fig. 6, 152, 150, 102, wherein uploading corresponds to receiving the SQL commands as claimed; Nakamura), and selecting, based on at least one criterion, SQL commands from among the plurality of SQL commands to use for at least one of generating and updating an ERD (Page 2, SQL databases and “Brainstorm,” Page 2, “using relational databases like MySQL or PostgreSQL… SQL Server,” since Camody does disclose using relational databases; then Camody inherently teaches receiving a plurality of SQL commands for at least one database as claimed since SQL commands are instructions used to interact with relational databases; Carmody; and [0026], “extract SQL statement in the programs: Q; extract tables referenced by each of the SQL statements: S.Math.Q×2.sup.T; extract program-to-program call relationships: C.Math.P×P; and extract program to table use relationships,” [0050], “may generate an entity-relationship diagrams from source code. The output being the set of edges, e.g., produced at blocks 4 and 7, as well as the set of tables (T), which were extracted as data from programs. This can include plotting the graphs for the entity-relationship diagrams on a user interface display. In further embodiment, plotting can include an output from the system to plotting apparatus for producing a physical plot,” [0064], Nakamura). 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 GIOVANNA B COLAN whose telephone number is (571)272-2752. The examiner can normally be reached on Mon - Fri 8:30-5:00. 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, Aleksandr Kerzhner can be reached on (571) 270-1760. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300. Information regarding the status of an application may be obtained from the Patent Application Information Retrieval (PAIR) system. Status information for published applications may be obtained from either Private PAIR or Public PAIR. Status information for unpublished applications is available through Private PAIR only. For more information about the PAIR system, see https://ppair-my.uspto.gov/pair/PrivatePair. Should you have questions on access to the Private PAIR system, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative or access to the automated information system, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000. /GIOVANNA B COLAN/Primary Examiner, Art Unit 2165 March 30, 2026
Read full office action

Prosecution Timeline

Show 10 earlier events
Sep 18, 2025
Response after Non-Final Action
Oct 01, 2025
Non-Final Rejection mailed — §103
Dec 19, 2025
Examiner Interview Summary
Dec 19, 2025
Applicant Interview (Telephonic)
Jan 02, 2026
Response Filed
Apr 02, 2026
Final Rejection mailed — §103
May 06, 2026
Examiner Interview Summary
May 06, 2026
Applicant Interview (Telephonic)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12632423
DYNAMIC QUERY RESOURCE CONTROL
4y 7m to grant Granted May 19, 2026
Patent 12632450
Geospatial Query Caching
2y 2m to grant Granted May 19, 2026
Patent 12625914
INTELLIGENT DATA STORAGE FOR EFFICIENT RETRIEVAL BASED ON CONTEXTUAL AWARENESS FOR MOBILE APPLICATIONS
2y 9m to grant Granted May 12, 2026
Patent 12613848
PARALLEL CONSTRUCTION ALGORITHM FOR IN-MEMORY HIERARCHICAL NAVIGABLE SMALL WORLD VECTOR INDEX IN A RELATIONAL DATABASE MANAGEMENT SYSTEM
1y 3m to grant Granted Apr 28, 2026
Patent 12608414
RECURSIVE AGGLOMERATIVE CLUSTERING OF TIME-STRUCTURED COMMUNICATIONS
3y 7m to grant Granted Apr 21, 2026
Study what changed to get past this examiner. Based on 5 most recent grants.

Strategy Recommendation AI-generated — please review before filing

Get a prosecution strategy drawn from examiner precedents, rejection analysis, and claim mapping.
Typically takes 5-10 seconds — AI-generated, attorney review required before filing

Prosecution Projections

5-6
Expected OA Rounds
72%
Grant Probability
99%
With Interview (+28.5%)
3y 5m (~1y 4m remaining)
Median Time to Grant
High
PTA Risk
Based on 306 resolved cases by this examiner. Grant probability derived from career allowance rate.

Sign in with your work email

Enter your email to receive a magic link. No password needed.

Personal email addresses (Gmail, Yahoo, etc.) are not accepted.

Free tier: 3 strategy analyses per month