DETAILED ACTION
This Office action is in response to original application filed on 09/17/2025.
Claims 1-20 are pending. Claims 1-20 are rejected.
Notice of 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 .
Priority
Acknowledgment is made of applicant’s claim for foreign priority under 35 U.S.C. 119 (a)-(d). The certified copy has been filed in parent Application No. 17/010,187, filed on 09/02/2020.
Claim Objections
Applicant is advised that should claim 9 be found allowable, claim 12 will be objected to under 37 CFR 1.75 as being a substantial duplicate thereof. When two claims in an application are duplicates or else are so close in content that they both cover the same thing, despite a slight difference in wording, it is proper after allowing one claim to object to the other as being a substantial duplicate of the allowed claim. See MPEP § 608.01(m).
Applicant is advised that should claim 8 be found allowable, claim 11 will be objected to under 37 CFR 1.75 as being a substantial duplicate thereof. When two claims in an application are duplicates or else are so close in content that they both cover the same thing, despite a slight difference in wording, it is proper after allowing one claim to object to the other as being a substantial duplicate of the allowed claim. See MPEP § 608.01(m).
Applicant is advised that should claim 7 be found allowable, claim 10 will be objected to under 37 CFR 1.75 as being a substantial duplicate thereof. When two claims in an application are duplicates or else are so close in content that they both cover the same thing, despite a slight difference in wording, it is proper after allowing one claim to object to the other as being a substantial duplicate of the allowed claim. See MPEP § 608.01(m).
Statutory Review under 35 USC § 101
Claims 1-13 are directed towards a method and have been reviewed.
Claims 1-13 appear to be statutory and qualify as patent-eligible subject matter, as the method comprises an abstract idea integrated into a practical application as per Step 2A, Prong Two of the patent subject matter eligibility determination.
Claims 14-20 are directed towards a system and have been reviewed.
Claims 14-20 appear to be statutory, as the system includes hardware (one or more processors).
Claims 14-20 also appear to qualify as patent-eligible subject matter, as the system performs a method comprising an abstract idea integrated into a practical application as per Step 2A, Prong Two of the patent subject matter eligibility determination.
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 1 and 3-13 are rejected on the ground of nonstatutory double patenting as being unpatentable over claims 1 and 3-10 of U.S. Patent No. 12,436,990. Although the claims at issue are not identical, they are not patentably distinct from each other because the claims of one encompass the claims of the other, and configuring the core ontology is analogous to expanding a core ontology.
Instant application 19/332,005
United States Patent No. 12,436,990
A method, performed by one or more processors, comprising:
receiving one or more datasets representing one or more data objects;
configuring a core ontology that is used to derive one or more data verification tests to be performed on the one or more datasets,
wherein configuring the core ontology comprises adding one or more conformant data structures that are compared against the one or more datasets for validation;
deriving one or more data validation tests according to the one or more conformant data structures;
based on the one or more derived data validation tests,
determining a validity of the one or more datasets;
in response to the one or more datasets being validated,
storing the received one or more datasets as the one or more data objects in a shared database;
in response to invalidating the one or more datasets,
electronically generate a signal that halts a downstream process acting on any data derived from the portion of the received one or more datasets or modifying a signal that initiates the downstream process.
A method, performed by one or more processors, comprising:
providing an ontology application associated with a core ontology, the core ontology defining one or more data validation tests comprising constraints required to be met for producing, from one or more received datasets, one or more data objects for storing in a shared database, wherein the constraints comprise access control permissions of the one or more data objects, the access control permissions comprising read or write permissions corresponding to the one or more data objects, the ontology application being configured to:
receive one or more datasets from one or more parties, wherein the one or more datasets represent one or more data objects;
receive an indication to expand the core ontology, wherein the expanding of the core ontology comprises adding a previously invalidated data object to the expanded core ontology, wherein the previously invalidated data object comprises a data structure generated from one or more datasets, wherein the expanding of the core ontology comprises:
deriving a new data validation test that validates the previously invalidated data object;
validate the indication to expand the core ontology based on a number of prior requests of the previously excluded data object or of a data field corresponding to the previously excluded data object exceeding a threshold number;
and in response to validating the request:
implement the new data validation test to:
determine if the received one or more datasets conform to the constraints of the expanded core ontology;
store the received one or more datasets as the one or more data objects in the shared database, conditional on the constraints being met; and
in response to determining that a portion of the received one or more datasets are associated with one or more unmet constraints, electronically generate a signal that halts a downstream process acting on any data derived from the portion of the received one or more datasets or modifying a signal that initiates the downstream process.
Claim 3 of 19/332,005 corresponds to claim 3 of United States Patent No. 12,436,990.
Claim 4 of 19/332,005 corresponds to claim 4 of United States Patent No. 12,436,990.
Claim 5 of 19/332,005 corresponds to claim 5 of United States Patent No. 12,436,990.
Claim 6 of 19/332,005 corresponds to claim 6 of United States Patent No. 12,436,990.
Claims 7 and 10 of 19/332,005 corresponds to claim 7 of United States Patent No. 12,436,990.
Claims 8 and 11 of 19/332,005 corresponds to claim 8 of United States Patent No. 12,436,990.
Claims 9 and 12 of 19/332,005 corresponds to claim 9 of United States Patent No. 12,436,990.
Claim 13 of 19/332,005 corresponds to claim 10 of United States Patent No. 12,436,990.
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 1-2 and 14-15 are rejected under 35 U.S.C. 103 as being unpatentable over Munro et al., United States Patent Application Publication No. 2016/0162456 (hereinafter Munro) in view of Sabdar et al., U.S. Patent Application Publication No. 2015/0066858 (published March 5, 2015, prior to the instant application date of September 2, 2019; utilized as a secondary reference in the rejection of the independent claims in parent application 17/010,187; hereinafter Sabdar).
Regarding claim 1, Munro teaches:
A method, performed by one or more processors, comprising: (Munro ¶ 0187-0189: The various operations of example methods described herein may be performed, at least partially, by one or more processors 1602 that are temporarily configured (e.g., by software) or permanently configured to perform the relevant operations)
receiving one or more datasets representing one or more data objects; (Munro FIG. 12, ¶ 0152: At block 1250, the natural language model may be used to analyze untested data. The untested data may be based on data obtained from the client not used as part of the training data, while in other cases the untested data may include live or real-time data, such as live streams of tweets or customer service emails)
configuring a core ontology that is used to derive one or more data verification tests to be performed on the one or more datasets, (Munro FIGs. 14-15, steps 1410-1420, ¶ 0166-0169: the natural language platform may be configured to proceed back to block 1415, which in some cases is a sub process within the overall process for creating the ontology ... the natural language platform may be configured to proceed back to block 1410 to conduct topic modeling again, which in some cases is a sub process within the overall process for creating the ontology; see FIG. 15, step 1420, "Create Hierarchical Data Structure for Organizing Documents by Key Words (Referred To As An Ontology)"; see then ¶ 0170: the natural language model may be available for use to analyze untested data at block 1430 [relevant to deriving one or more data verification tests])
wherein configuring the core ontology comprises adding one or more conformant data structures that are compared against the one or more datasets for validation; (Munro FIG. 15, step 1425 to step 1410, ¶ 0166-0168, see notably ¶ 0168: As another example of an iterative loop, and may be determined that new topics should be discovered or topics may need to be refined or modified in some way. Thus, from block 1425, the natural language platform may be configured to proceed back to block 1410 to conduct topic modeling again, which in some cases is a sub process within the overall process for creating the ontology. To modify any topics, the natural language platform may be configured to accept various parameters for discovering new topics. For example, new documents may be accessed; see also Munro FIG. 5, ¶ 0081-0083: the client wants to classify the collection of tweets into the top 10 most discussed topics, topic modeling may first be performed on the collection of tweets to discover precisely what these top 10 topics are. These top 10 topics may then be organized in a hierarchical structure of an ontology, and may include some of the topics as sub nodes under other topics, based on a logical or thematic relationship)
deriving one or more data validation tests according to the one or more conformant data structures; (Munro FIG. 5, ¶ 0084-0085: At block 515, after an ontology has been established, the natural language platform may be configured to conduct an adaptive machine learning process to generate the natural language model. This adaptive machine learning process may train the natural language model on how to categorize the training data into the various labels as structured in the ontology [shows use of the one or more conformant data structures] ... the natural language model may be utilized by the natural language platform to analyze untested data as specified by the user or client [relevant to data validation tests]; Munro FIG. 12, ¶ 0142-0143: At block 1225, the natural language platform may be configured to generate the natural language model using the aggregated annotated data (e.g. documents with consistent enough aggregation score [also relevant to conformant data structures]) in an adaptive machine learning training process ... the adaptive machine learning training process may find patterns in the training data (e.g., aggregated annotated data) that may be used to make predictions about untested data [relevant to data validation tests]; Munro FIG. 15, step 1425, ¶ 0165-0170: after at least a first iteration of the natural language model is generated at block 1425 ... the natural language model may be available for use to analyze untested data at block 1430)
based on the one or more derived data validation tests, determining a validity of the one or more datasets; (Munro FIG. 12, ¶ 0152: At block 1250, the natural language model may be used to analyze untested data … the natural language model may analyze untested data by classifying each unit of the untested data into one or more of the tasks or labels as organized in the ontology; FIG. 15, step 1430, ¶ 0170-0171: the natural language model may be available for use to analyze untested data at block 1430)
in response to the one or more datasets being validated, storing the received one or more datasets as the one or more data objects in a shared database; (Munro FIG. 15, ¶ 0171: after the natural language model is in use to analyze untested data at block 1430, an additional block 1510 is provided to modify the currently running natural language model with updated data; Munro FIG. 15, ¶ 0172: the existing natural language model may simply be retrained with updated data. The retraining may include revising or discovering new topics, modifying or creating new rules, or modifying the ontology structure to account for the updated data [most relevant to storing as the one or more data objects]; see relevantly Munro FIG. 1A, ¶ 0059: a “database” may refer to a data storage resource and may store data structured as a text file, a table, a spreadsheet, a relational database (e.g., an object-relational database), a triple store, a hierarchical data store, any other suitable means for organizing and storing data or any suitable combination thereof. Moreover, any two or more of the machines, databases, or devices illustrated in FIG. 1A may be combined into a single machine, and the functions described herein for any single machine, database, or device may be subdivided among multiple machines, databases, or devices)
Munro does not expressly disclose:
in response to invalidating the one or more datasets, electronically generate a signal that halts a downstream process acting on any data derived from the portion of the received one or more datasets or modifying a signal that initiates the downstream process.
However, Sabdar addresses this by teaching:
in response to invalidating the one or more datasets, (Sabdar ¶ 0016: a checksum error or other data degradation detected in the incoming stream from the source; ¶ 0031: The send stream may include an on-the-wire format having per-record checksums to detect data degradation in the stream; ¶ 0033: Any errors that make the requested transfer impossible to complete are detected quickly; ¶ 0040: If the requested transfer has become impossible based on the comparison (e.g., the target storage appliance 106 destroyed or is missing a snapshot); ¶ 0042: the source storage appliance 104 verifies the requested stream characteristics against the target checkpoint to ensure the stream still makes sense to send; FIG. 4, ¶ 0055: As the table of contents and index are being constructed, a list of holds is constructed (operation 440). A hold is an operation that stops the modification or deletion of the data being "held." ... If all of the holds are unable to be acquired, the system may generate and error and abort the replication (460))
electronically generate a signal that halts a downstream process acting on any data derived from the portion of the received one or more datasets or modifying a signal that initiates the downstream process. (Sabdar ¶ 0031: For various reasons, including, without limitation ... a checksum error on the wire, the replication process may be interrupted; ¶ 0033: Any errors that make the requested transfer impossible to complete are detected quickly and trigger an alert or exit the send command with a fatal error; ¶ 0040: If the requested transfer has become impossible based on the comparison (e.g., the target storage appliance 106 destroyed or is missing a snapshot), the resumed send will trigger an alert or exit with a fatal error; ¶ 0042: ensure the stream still makes sense to send. If not, the source storage appliance 104 generates a fatal error; ¶ 0055: If all of the holds are unable to be acquired, the system may generate and error and abort the replication (460) [¶ 0062 similarly discusses generating an error and aborting the archive process])
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the data testing of Munro with the data degradation detection of Sabdar.
In addition, both of the references (Munro and Sabdar) disclose features that are directed to analogous art, and they are directed to the same field of endeavor, such as data verification techniques.
Motivation to do so would be the teaching, suggestion, or motivation for one of ordinary skill in the art to increase overall system performance during replication in a variety of storage environments by eliminating the need to resend and subsequently ignore data that has already been successfully sent (Sabdar ¶ 0019)
Regarding claim 14, Munro teaches:
A system comprising: one or more processors; and memory storing instructions that, when executed by the one or more processors, cause the system to perform operations further comprising: (Munro ¶ 0178-0181, see primarily ¶ 0181: The term “machine-readable medium” shall also be taken to include any medium, or combination of multiple media, that is capable of storing the instructions 1624 for execution by the machine 1600, such that the instructions 1624, when executed by one or more processors of the machine 1600 (e.g., processor 1602), cause the machine 1600 to perform any one or more of the methodologies described herein, in whole or in part)
receiving one or more datasets representing one or more data objects; (Munro FIG. 12, ¶ 0152: At block 1250, the natural language model may be used to analyze untested data. The untested data may be based on data obtained from the client not used as part of the training data, while in other cases the untested data may include live or real-time data, such as live streams of tweets or customer service emails)
configuring a core ontology that is used to derive one or more data verification tests to be performed on the one or more datasets, (Munro FIGs. 14-15, steps 1410-1420, ¶ 0166-0169: the natural language platform may be configured to proceed back to block 1415, which in some cases is a sub process within the overall process for creating the ontology ... the natural language platform may be configured to proceed back to block 1410 to conduct topic modeling again, which in some cases is a sub process within the overall process for creating the ontology; see FIG. 15, step 1420, "Create Hierarchical Data Structure for Organizing Documents by Key Words (Referred To As An Ontology)"; see then ¶ 0170: the natural language model may be available for use to analyze untested data at block 1430 [relevant to deriving one or more data verification tests])
wherein configuring the core ontology comprises adding one or more conformant data structures that are compared against the one or more datasets for validation; (Munro FIG. 15, step 1425 to step 1410, ¶ 0166-0168, see notably ¶ 0168: As another example of an iterative loop, and may be determined that new topics should be discovered or topics may need to be refined or modified in some way. Thus, from block 1425, the natural language platform may be configured to proceed back to block 1410 to conduct topic modeling again, which in some cases is a sub process within the overall process for creating the ontology. To modify any topics, the natural language platform may be configured to accept various parameters for discovering new topics. For example, new documents may be accessed; see also Munro FIG. 5, ¶ 0081-0083: the client wants to classify the collection of tweets into the top 10 most discussed topics, topic modeling may first be performed on the collection of tweets to discover precisely what these top 10 topics are. These top 10 topics may then be organized in a hierarchical structure of an ontology, and may include some of the topics as sub nodes under other topics, based on a logical or thematic relationship)
deriving one or more data validation tests according to the one or more conformant data structures; (Munro FIG. 5, ¶ 0084-0085: At block 515, after an ontology has been established, the natural language platform may be configured to conduct an adaptive machine learning process to generate the natural language model. This adaptive machine learning process may train the natural language model on how to categorize the training data into the various labels as structured in the ontology [shows use of the one or more conformant data structures] ... the natural language model may be utilized by the natural language platform to analyze untested data as specified by the user or client [relevant to data validation tests]; Munro FIG. 12, ¶ 0142-0143: At block 1225, the natural language platform may be configured to generate the natural language model using the aggregated annotated data (e.g. documents with consistent enough aggregation score [also relevant to conformant data structures]) in an adaptive machine learning training process ... the adaptive machine learning training process may find patterns in the training data (e.g., aggregated annotated data) that may be used to make predictions about untested data [relevant to data validation tests]; Munro FIG. 15, step 1425, ¶ 0165-0170: after at least a first iteration of the natural language model is generated at block 1425 ... the natural language model may be available for use to analyze untested data at block 1430)
based on the one or more derived data validation tests, determining a validity of the one or more datasets; (Munro FIG. 12, ¶ 0152: At block 1250, the natural language model may be used to analyze untested data … the natural language model may analyze untested data by classifying each unit of the untested data into one or more of the tasks or labels as organized in the ontology; FIG. 15, step 1430, ¶ 0170-0171: the natural language model may be available for use to analyze untested data at block 1430)
in response to the one or more datasets being validated, storing the received one or more datasets as the one or more data objects in a shared database; (Munro FIG. 15, ¶ 0171: after the natural language model is in use to analyze untested data at block 1430, an additional block 1510 is provided to modify the currently running natural language model with updated data; Munro FIG. 15, ¶ 0172: the existing natural language model may simply be retrained with updated data. The retraining may include revising or discovering new topics, modifying or creating new rules, or modifying the ontology structure to account for the updated data [most relevant to storing as the one or more data objects]; see relevantly Munro FIG. 1A, ¶ 0059: a “database” may refer to a data storage resource and may store data structured as a text file, a table, a spreadsheet, a relational database (e.g., an object-relational database), a triple store, a hierarchical data store, any other suitable means for organizing and storing data or any suitable combination thereof. Moreover, any two or more of the machines, databases, or devices illustrated in FIG. 1A may be combined into a single machine, and the functions described herein for any single machine, database, or device may be subdivided among multiple machines, databases, or devices)
Munro does not expressly disclose:
in response to invalidating the one or more datasets, electronically generate a signal that halts a downstream process acting on any data derived from the portion of the received one or more datasets or modifying a signal that initiates the downstream process.
However, Sabdar addresses this by teaching:
in response to invalidating the one or more datasets, (Sabdar ¶ 0016: a checksum error or other data degradation detected in the incoming stream from the source; ¶ 0031: The send stream may include an on-the-wire format having per-record checksums to detect data degradation in the stream; ¶ 0033: Any errors that make the requested transfer impossible to complete are detected quickly; ¶ 0040: If the requested transfer has become impossible based on the comparison (e.g., the target storage appliance 106 destroyed or is missing a snapshot); ¶ 0042: the source storage appliance 104 verifies the requested stream characteristics against the target checkpoint to ensure the stream still makes sense to send; FIG. 4, ¶ 0055: As the table of contents and index are being constructed, a list of holds is constructed (operation 440). A hold is an operation that stops the modification or deletion of the data being "held." ... If all of the holds are unable to be acquired, the system may generate and error and abort the replication (460))
electronically generate a signal that halts a downstream process acting on any data derived from the portion of the received one or more datasets or modifying a signal that initiates the downstream process. (Sabdar ¶ 0031: For various reasons, including, without limitation ... a checksum error on the wire, the replication process may be interrupted; ¶ 0033: Any errors that make the requested transfer impossible to complete are detected quickly and trigger an alert or exit the send command with a fatal error; ¶ 0040: If the requested transfer has become impossible based on the comparison (e.g., the target storage appliance 106 destroyed or is missing a snapshot), the resumed send will trigger an alert or exit with a fatal error; ¶ 0042: ensure the stream still makes sense to send. If not, the source storage appliance 104 generates a fatal error; ¶ 0055: If all of the holds are unable to be acquired, the system may generate and error and abort the replication (460) [¶ 0062 similarly discusses generating an error and aborting the archive process])
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the data testing of Munro with the data degradation detection of Sabdar.
In addition, both of the references (Munro and Sabdar) disclose features that are directed to analogous art, and they are directed to the same field of endeavor, such as data verification techniques.
Motivation to do so would be the teaching, suggestion, or motivation for one of ordinary skill in the art to increase overall system performance during replication in a variety of storage environments by eliminating the need to resend and subsequently ignore data that has already been successfully sent (Sabdar ¶ 0019)
Regarding claims 2 and 15, Munro in view of Sabdar teaches:
wherein the core ontology is dynamically modified. (Munro FIG. 15, step 1425 to step 1410, ¶ 0166-0168, see notably ¶ 0168: As another example of an iterative loop, and may be determined that new topics should be discovered or topics may need to be refined or modified in some way. Thus, from block 1425, the natural language platform may be configured to proceed back to block 1410 to conduct topic modeling again, which in some cases is a sub process within the overall process for creating the ontology. To modify any topics, the natural language platform may be configured to accept various parameters for discovering new topics)
Claims 3, 6; 16, and 19 are rejected under 35 U.S.C. 103 as being unpatentable over Munro in view of Sabdar in further view of Griffith et al., U.S. Patent Application Publication No. 2019/0034491 (published January 31, 2019; utilized as a reference in the rejection of dependent claims in parent application 17/010,187; hereinafter Griffith).
Regarding claims 3 and 16, Munro in view of Sabdar teaches all the features with respect to claims 1 and 14 above but does not expressly disclose:
wherein the core ontology further defines one or more data verification tests for the one or more received datasets,
wherein the ontology application is further configured to:
perform the one or more data verification tests on the one or more received datasets to identify erroneous data; and
generate and provide to said one or more parties an indication of any constraints not being met and/or erroneous data for the received one or more datasets.
However, Griffith addresses this by teaching:
wherein the core ontology further defines one or more data verification tests for the one or more received datasets, (Griffith ¶ 0130: ontology data 1703d from any suitable ontology (e.g., data compliant with Web Ontology Language (“OWL”), as maintained by the World Wide Web Consortium (“W3C”)); ¶ 0158: dataset analyzer 2330 may be configured to analyze a subset of data of dataset 2305a to detect whether a non-compliant data attribute exists; also relevant is Griffith ¶ 0176-0177: At 2506, a subset of data to detect a non-compliant data attribute may be analyzed by, for example, matching or comparing (within or excluding a tolerance level value) data defined by analyzation data to data in a dataset being ingested; see this in light of ¶ 0179 showing 'tests': a dataset analyzer configured to access analyzation data to remediate a dataset; Analyzation data 2602 includes a number of rows 2610 to 2652 representing attributes of an imported dataset that may be analyzed to determine whether any deficiencies, issues, or conditions may arise. Attributes to be tested may include a property 2601a, one or more values 2601b, and optionally an inspection type 2601c that describes a type of attribute being inspected)
wherein the ontology application is further configured to: perform the one or more data verification tests on the one or more received datasets to identify erroneous data; and (Griffith ¶ 0174-0181: at 2502, at which data representing a subset of data disposed in data fields (e.g., cells) of a data arrangement (e.g., a spreadsheet) may be received [shows received datasets]; At 2506, a subset of data to detect a non-compliant data attribute may be analyzed by, for example, matching or comparing (within or excluding a tolerance level value) data defined by analyzation data to data in a dataset being ingested; a dataset analyzer configured to access analyzation data to remediate a dataset; Analyzation data 2602 includes a number of rows 2610 to 2652 representing attributes of an imported dataset that may be analyzed to determine whether any deficiencies, issues, or conditions may arise. Attributes to be tested may include a property 2601a, one or more values 2601b, and optionally an inspection type 2601c that describes a type of attribute being inspected; such numbers ought be flagged as a possible aberration or anomaly [shows identified erroneous data])
generate and provide to said one or more parties an indication of any constraints not being met and/or erroneous data for the received one or more datasets. (Griffith ¶ 0162: analyzation data 2309 may be configured to include configurable attribute properties and values with which to remediate or correct a specific type of dataset 2305a; as subsequent datasets 2305a are uploaded, dataset analyzer 2330 may detect and flag or remediate an invalid SKU that fails to match against a list of valid SKUs; see also ¶ 0096-0098: Match filter 658 may include any number of filter types 658a, 658b, and 658n, each of which may be configured to receive a stream of data representing a column 656 of data [shows receipt of data]; if a state abbreviation for Alaska is “AK,” and an instance of “KA” is detected in column 656, inference engine 632 may predict a transposition error and corrective action to resolve the anomaly. Dataset analyzer 630 may be configured to generate a notification to present in a user interface that may alert a user that less than 100% of the data matches the category “state abbreviations,” and may further present the predicted remediation action, such as replacing “KA” with “AK,” should the user so select [shows generated and provisioned indication])
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the iterative ontology techniques of Munro as modified with the data compliance analyses of Griffith.
In addition, both of the references (Munro as modified and Griffith) disclose features that are directed to analogous art, and they are directed to the same field of endeavor, such as data verification techniques.
Motivation to do so would be to improve the functioning of Munro as modified performing tests over untested data with the ability in similar reference Griffith to analyze imported data with the improvement of remediating or correcting data based on a variety of factors.
Motivation to do so would be the teaching, suggestion, or motivation for one of ordinary skill in the art to facilitate techniques to optimize linking of datasets, without the limitations of conventional techniques, as seen in Griffith ¶ 0008.
Regarding claims 6 and 19, Munro in view of Sabdar and Griffith teaches all the features with respect to claims 3 and 16 above including:
wherein the one or more data verification tests comprise one or more data health checks to determine, for a received dataset comprising rows and columns of data items, a number of data items in the rows and/or columns determined as unhealthy based on health check criteria in the core ontology, the indication of the erroneous data being based on the number of unhealthy data items in one or more rows and/or columns. (Griffith FIG. 25, ¶ 0174-0181, see ¶ 0174: at 2502, at which data representing a subset of data disposed in data fields (e.g., cells) of a data arrangement (e.g., a spreadsheet) may be received [shows received datasets comprising rows and columns of data items]; ¶ 0176: At 2506, a subset of data to detect a non-compliant data attribute may be analyzed by, for example, matching or comparing (within or excluding a tolerance level value) data defined by analyzation data to data in a dataset being ingested; FIG. 26, ¶ 0179 describes this analysis: a dataset analyzer configured to access analyzation data to remediate a dataset; Analyzation data 2602 includes a number of rows 2610 to 2652 representing attributes of an imported dataset that may be analyzed to determine whether any deficiencies, issues, or conditions may arise; Griffith ¶ 0181 describes, as part of this analysis, redundant values of a row, rows or columns that are inadvertently truncated, and a rare number/multiple-number of rows or columns//a rare structural configuration to be flagged as a possible aberration or anomaly [showing identified erroneous data], all of which can be considered unhealthy data, but most important is Griffith describing its suspicious multiple-numbered set of rows or columns [thus relevant to the claimed 'being based on the number of unhealthy data items in one or more rows and/or columns'])
Claims 4-5 and 17-18 are rejected under 35 U.S.C. 103 as being unpatentable over Munro in view of Sabdar in further view of Griffith in further view of Sequeda et al., U.S. Patent Application Publication No. 2020/0097504 (filed August 31, 2019; utilized as a reference in the rejection of dependent claims in parent application 17/010,187; hereinafter Sequeda).
Regarding claim 4, Munro in view of Sabdar and Griffith teaches all the features with respect to claim 3 above including:
wherein the one or more data verification tests comprise one or more scripts... (Griffith ¶ 0162 show 'data verification tests': Analyzation data 2309 may include a set (e.g., a superset) of attributes (e.g., attribute properties and values) that are directed to remediating any number of different datasets in various data structures; analyzation data 2309 may be configured to include configurable attribute properties and values with which to remediate or correct a specific type of dataset 2305a; a user or entity may wish to import into collaborative dataset consolidation system 2310 a subset of configurable data attributes with which to apply against subset of data during ingestion that are specific to that entity; ¶ 0217 shows the claimed 'one or more scripts': execution of the sequences of instructions may be performed by computing platform 3400; Computing platform 3400 may transmit and receive messages, data, and instructions, including program code (e.g., application code); Received program code may be executed by processor 3404)
Munro in view of Sabdar and Griffith does not expressly disclose:
wherein the core database ontology comprises a data definition language (DDL) defining the constraints…
…one or more scripts encoded within the DDL which are run by the ontology application.
However, Sequeda teaches:
wherein the core ontology comprises a data definition language (DDL) defining the constraints and... (Sequeda ¶ 0038-0039: the data structure representing the graph schema, whether an ontology, knowledge graph, property graph or the like; A graph schema definition file is a text embodiment of a graph schema. This file details the contents and structure of the graph database. This is similar to a file containing SQL data definition language statements (SQL-DDL) such as CREATE TABLE, where in the relational setting a table and its constituent columns named and data types provided)
...one or more scripts encoded within the DDL which are run by the ontology application. (Sequeda ¶ 0038-0039: the data structure representing the graph schema, whether an ontology, knowledge graph, property graph or the like; The data structure is stored on the server, and commands in the form of scripts is transmitted from server to the browsers of all participating remote computers, and the browsers transmit commands back to the server; A graph schema definition file is a text embodiment of a graph schema. This file details the contents and structure of the graph database. This is similar to a file containing SQL data definition language statements (SQL-DDL) such as CREATE TABLE, where in the relational setting a table and its constituent columns named and data types provided; see also relevant ¶ 0138: the remote server delivers a data file that is comprised of computer code that the browser program interprets, for example, scripts)
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the ontological data management and data analysis of Munro as modified with the graph schema of Sequeda.
In addition, both of the references (Munro as modified and Sequeda) disclose features that are directed to analogous art, and they are directed to the same field of endeavor, such as management of relational data.
Motivation to do so would be to improve the functioning of Munro as modified importing ontological data with similar reference Sequeda also importing interrelated data but with improved definition and analysis techniques.
Regarding claim 5, Munro in view of Sabdar and Griffith and Sequeda teaches all the features with respect to claim 4 above including:
wherein the one or more scripts are run periodically by the ontology application according to a schedule. (Sequeda ¶ 0034: The system can save the graph schema data structure as a file or other object. This can be done periodically in order that the evolution of the schema can be tracked, and earlier revisions recovered if necessary; ¶ 0116: the data structure, as a table or series of tables may be stored as a data file on mass storage device. This may be performed periodically, with automatically generated filenames so that the evolution of the schema can be maintained; see these passages of Sequeda in light of ¶ 0038-0039 associating the periodically-stored/saved data structure with scripts: the data structure representing the graph schema, whether an ontology, knowledge graph, property graph or the like; The data structure is stored on the server, and commands in the form of scripts is transmitted from server to the browsers of all participating remote computers)
Claims 7-13 and 20 are rejected under 35 U.S.C. 103 as being unpatentable over Munro in view of Sabdar in further view of Beard et al., U.S. Patent No. 10,803,106 (filed February 24, 2015; utilized as a reference in the rejection of the independent claims in parent application 17/010,187; hereinafter Beard)
Regarding claims 7, 10, and 20, Munro in view of Sabdar teaches all the features with respect to claims 1, 1, and 14 above respectively but does not expressly disclose:
wherein the ontology application is configured, responsive to detecting one or more constraints not being met, to run one or more fixing algorithms automatically to fix non-compliant data items of the dataset, and to fix at least one non-complying data item in the non-complying dataset so that it complies with the core ontology.
However, Beard addresses this by teaching:
wherein the ontology application is configured, responsive to detecting one or more constraints not being met, to run one or more fixing algorithms automatically to fix non-compliant data items of the dataset, and to fix at least one non-complying data item in the non-complying dataset so that it complies with the core ontology. (Beard FIG. 5, col. 16, lines 4-25; lines 4-13 show 'non-compliant data' as claimed: if two imported ontology modules 417 define the same data type differently, then an ambiguous data type definition conflict arises. The conflict may need to be resolved before a definition for the data type can be re-used and/or extended in the new ontology module 415 [shows compliance with the core database ontology as claimed]; col. 16, lines 14-25: an ambiguous data type definition conflict is resolved automatically by the ontology application 377 according to one or more conflict resolution rules [shows 'fixing algorithms']; resolving an ambiguous data type definition conflict for a data type involves creating a new definition for the data type in new ontology module 415 that reflects results of automatically resolving the conflict)
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the data testing of Munro as modified with the data compliance analyses of Beard.
In addition, both of the references (Munro as modified and Beard) disclose features that are directed to analogous art, and they are directed to the same field of endeavor, such as data verification techniques.
Motivation to do so would be the teaching, suggestion, or motivation for one of ordinary skill in the art to allow an organization to design an overall domain-specific ontology for their investigative data as a collection of independently designed sub-domain-specific ontologies which may then be combined to form the overall ontology as seen in Beard col. 5, lines 57-64.
Regarding claims 8 and 11, Munro in view of Sabdar teaches all the features with respect to claim 1 above but does not expressly disclose:
wherein the ontology application is further configured to prevent non-compliant data from being propagated to one or more further dataset transformations.
However, Beard addresses this by teaching:
wherein the ontology application is further configured to prevent non-compliant data from being propagated to one or more further dataset transformations. (Beard FIG. 5, col. 16, lines 4-25; lines 4-13 show 'non-compliant data' as claimed: if two imported ontology modules 417 define the same data type differently, then an ambiguous data type definition conflict arises. The conflict may need to be resolved before a definition for the data type can be re-used and/or extended in the new ontology module 415; col. 16, lines 31-42: At step 510, the ontology application 377 stores the new ontology module 415 in persistent data container such as in a file on a non-volatile data storage medium. By doing so, the new ontology module 415 can be imported by other ontology modules, as in step 540 above, or otherwise used to create a dynamic modular ontology 410. Furthermore, the data container may be shared with other analysts 320 for use in creating their own dynamic modular ontologies 410 [these passages together show prevention of propagation])
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the data testing of Munro as modified with the data compliance analyses of Beard.
In addition, both of the references (Munro as modified and Beard) disclose features that are directed to analogous art, and they are directed to the same field of endeavor, such as data verification techniques.
Motivation to do so would be the teaching, suggestion, or motivation for one of ordinary skill in the art to allow an organization to design an overall domain-specific ontology for their investigative data as a collection of independently designed sub-domain-specific ontologies which may then be combined to form the overall ontology as seen in Beard col. 5, lines 57-64.
Regarding claims 9 and 12, Munro in view of Sabdar teaches all the features with respect to claim 1 above but does not expressly disclose:
wherein the ontology application is further configured to permit user-definition of a customized ontology and to permit data complying with the core ontology to be applied to the customized ontology, which the customized ontology defines constraints for one or more data objects not in the core ontology.
However, Beard addresses this by teaching:
wherein the ontology application is further configured to permit user-definition of a customized ontology (Beard FIG. 5, col. 15, line 56-col. 16, line 3: At step 504, the ontology application 377 receives from the analyst 320 one or more selections of one or more other ontology modules 417 to import into the new ontology module 415; Beard teaches this involving a 'customized ontology' as required by the claims in col. 11, lines 55-65: the ontology application 377 may be used by an analyst 320 to customize a dynamic modular ontology for the investigative data 365 including: adding new data object types, new property types, and new link types to ontology modules, deleting unused data object types, property types, and link types from ontology modules, combining ontology modules together to form an overall dynamic modular ontology, and resolving conflicts between combined ontology modules)
and to permit data complying with the core ontology to be applied to the customized ontology, (Beard col. 16, lines 4-25: resolving an ambiguous data type definition conflict for a data type involves creating a new definition for the data type in new ontology module 415 [shows applying data to the ontology as claimed] that reflects results of automatically resolving the conflict or the results of resolving the conflict with the aid of analyst 320 input [shows ties to 'user-definition' as claimed])
which customized ontology defines constraints for one or more data objects not in the core ontology. (Beard FIG. 11, col. 21, line 32-col. 22, line 4: a data object type-data object type link definition 670 that may be part of an ontology module 415; a data object type-data object type link definition 670 may include the following attributes, or a subset or a superset thereof: one or more fundamental data object types 673, one or more allowed data object types 674, and/or one or more disallowed data object types 675 [shows defined constraints]; Beard shows this can involve data objects not in the core ontology FIG. 5, ele. 504, 508, col. 15, line 56-col. 16, line 30: At step 504, the ontology application 377 receives from the analyst 320 one or more selections of one or more other ontology modules 417 to import into the new ontology module 415; At step 508, the ontology application 377 receives one or more further data type definitions from the analyst 320. Such a data type definition may define an entirely new data type or extend a data type definition from the imported ontology modules 417)
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the data testing of Munro as modified with the data compliance analyses of Beard.
In addition, both of the references (Munro as modified and Beard) disclose features that are directed to analogous art, and they are directed to the same field of endeavor, such as data verification techniques.
Motivation to do so would be the teaching, suggestion, or motivation for one of ordinary skill in the art to allow an organization to design an overall domain-specific ontology for their investigative data as a collection of independently designed sub-domain-specific ontologies which may then be combined to form the overall ontology as seen in Beard col. 5, lines 57-64.
Regarding claim 13, Munro in view of Sabdar teaches all the features with respect to claim 1 above but does not expressly disclose:
wherein the core ontology and ontology application is provided to a plurality of parties of the shared database in a single file.
However, Beard addresses this by teaching:
wherein the core ontology ... is provided to a plurality of parties of the shared database in a single file. (Beard FIG. 5, col. 16, lines 32-52: At step 510, the ontology application 377 stores the new ontology module 415 in persistent data container such as in a file on a non-volatile data storage medium; the new ontology module 415 can be imported by other ontology modules, as in step 540 above, or otherwise used to create a dynamic modular ontology 410; the data container may be shared with other analysts 320 for use in creating their own dynamic modular ontologies 410; the data container containing the definition of the new ontology module 415 is managed by a source code management system such as, for example, GIT/STASH. This allows the definition of the ontology module 415 to be managed like a source code file; an analyst can retrieve the definition of the ontology module 415 from the source code management system for use in constructing another ontology module that imports the ontology module 415)
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the data testing of Munro as modified with the data compliance analyses of Beard.
In addition, both of the references (Munro as modified and Beard) disclose features that are directed to analogous art, and they are directed to the same field of endeavor, such as data verification techniques.
Motivation to do so would be the teaching, suggestion, or motivation for one of ordinary skill in the art to allow an organization to design an overall domain-specific ontology for their investigative data as a collection of independently designed sub-domain-specific ontologies which may then be combined to form the overall ontology as seen in Beard col. 5, lines 57-64.
This embodiment of Beard does not expressly disclose wherein the ontology application is provided.
However, another embodiment of Beard addresses this by teaching the ontology application is provided to a plurality of parties. (Beard col. 10, line 56-col. 11, line 7: The application(s) 335 may include the following applications (or sets of computer-executable instructions), or a subset or a superset thereof, that an analyst 320 may use to conduct an investigation on the investigative data 365 ... an ontology application 377; col. 22, lines 8-15: a first analyst 320 and a second analyst 320 may use the ontology application 377 at different clients 330 to edit the same ontology module 415 at the same time; col. 13, lines 1-15: Each of the above-identified applications correspond to a set of computer-executable instructions for performing one or more functions described above. These applications (i.e., set of computer-executable instructions) need be implemented as separate software programs, procedures, or applications, and thus various subset of these applications may be combined or otherwise rearranged in some embodiments of the present invention)
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the dynamically propagatable and modular ontology of Munro as modified by at least Beard with the provision of ontology applications to multiple people.
Motivation to do so would be to improve the functioning of Munro as modified by at least Beard allowing users to receive ontological information with the ability to perform desired edits to continue the dynamic modular ontology creation.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
Jacob et al., U.S. Patent Application Publication No. 2017/0364703; see Jacob ¶ 0051, "data from a number of sources may include … ontology data 603d from any suitable ontology (e.g., data compliant with Web Ontology Language (“OWL”), as maintained by the World Wide Web Consortium (“W3C”))"; see Jacob FIG. 8, ¶ 0062, "At 802, data representing a dataset having a data format may be received into a collaborative dataset consolidation system," relevant to at least the independent claim limitations including at least receiving one or more datasets representing one or more objects and storing the received one or more datasets as the one or more objects in a shared database.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to JEDIDIAH P FERRER whose telephone number is (571)270-7695. The examiner can normally be reached Monday, Tuesday, Friday, 12:00pm-9: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, Kavita Stanley can be reached at (571)272-8352. 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.
/J.P.F/Examiner, Art Unit 2153 July 24, 2026
/KAVITA STANLEY/Supervisory Patent Examiner, Art Unit 2153