DETAILED ACTION
In response to communication filed on 22 April 2026, claims 1, 7, 10 and 16 are amended. Claims 1-20 are pending.
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Continued Examination Under 37 CFR 1.114
A request for continued examination under 37 CFR 1.114, including the fee set forth in 37 CFR 1.17(e), was filed in this application after final rejection. Since this application is eligible for continued examination under 37 CFR 1.114, and the fee set forth in 37 CFR 1.17(e) has been timely paid, the finality of the previous Office action has been withdrawn pursuant to 37 CFR 1.114. Applicant's submission filed on 22 April 2026 has been entered.
Response to Arguments
Applicant’s arguments, see “Remarks concerning Objections”, filed 22 April 2026, have been carefully considered. Based on claim amendments, the claim objections have been withdrawn.
Applicant’s arguments, see “Remarks concerning Rejections under 35 U.S.C. § 103”, filed 22 April 2026, have been carefully considered. Based on claim amendments and the arguments filed, a new reference Wasserman has been incorporated.
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, 3-4, 6, 8, 10, 12-13, 15-16 and 18-19 are rejected under 35 U.S.C. 103 as being unpatentable over Villard et al. (US 2020/0134067 A1, hereinafter “Villard”) in view of Scott et al. (US 2014/0258336 A1, hereinafter “Scott”) further in view of Wasserman et al. (US 7,680,781 B1, hereinafter “Wasserman”).
Regarding claim 1, Villard teaches
A method performed at a computing device having one or more processors and memory storing one or more programs configured for execution by the one or more processors, the method comprising: (see Villard, [0095] “The data analytics system includes a first computer system (e.g., agent system 100 of FIGS. 1 and 2). The first computer system includes one or more processing units (e.g., CPU 174 of FIG. 2), and a memory (e.g., memory 102 and/or memory 190 of FIG. 2), which is coupled to at least one of the one or more processing units. The memory stores one or more instructions, which when executed by the processor, perform a method”).
receiving from a first user… of a natural language interface, (see Villard, [0129] “the set of synonyms is provided by, and/or augmented by, a user (e.g., as described in more detail below with reference to at least FIG. 6 through FIG. 9)… These natural language synonyms allow a respective agent 112 to communicate with, and provide improved query results for, users… by interpreting requests provided the respective user using the natural language synonyms”; [0141] “a first user 300-1 creates the skill 602-N which provides a training set of synonyms 722-1 for dimension A 720-1 and synonyms 722-2”) input specifying a set of metadata comprising synonyms for data fields and data values… (see Villard, [0125] “identifying data fields in a dimensions (e.g., identifying a data field as a metric or identifying a data field as a filter)… adding synonyms for metric names (e.g., adding one or more synonyms for a particular term), dimension names (e.g., renaming an identifier), and/or dimension values (e.g., altering a value of 0.0001 to be 1*10.sup.4)… the data model 120 is altered in response to receiving an indication from the user device 300 of a required alteration to the data model 120… the altering of the present disclosure (e.g., altering by a user device 300 and/or agent 112) alters one or more names of one or more data fields”; [0062] “provide alterations to the data model 120… created and/or altered by a user of the system ( e.g., via input at a respective user device 300.. by determining a synonym for an identifier of an element (e.g., a column) of a data model 120 and replacing and/or suggesting a replacement of the identifier with the synonym”; [0045] “that provide one or more predetermined alterations to various entities associated with and/or based on data that is stored on the corresponding database”; [0086] “database 300 may represent one or more databases, data sources, file stores, or a combination thereof”; [0063] “information from the data model 120 and/or the data of the database 200” – information from the data model and information from database has been interpreted as metadata).
… the set of metadata comprising the synonyms for the data fields and the data values… (see Villard, [0125] “identifying data fields in a dimensions (e.g., identifying a data field as a metric or identifying a data field as a filter)… adding synonyms for metric names (e.g., adding one or more synonyms for a particular term), dimension names (e.g., renaming an identifier), and/or dimension values (e.g., altering a value of 0.0001 to be 1*10.sup.4)… the data model 120 is altered in response to receiving an indication from the user device 300 of a required alteration to the data model 120… the altering of the present disclosure (e.g., altering by a user device 300 and/or agent 112) alters one or more names of one or more data fields”; [0062] “provide alterations to the data model 120… created and/or altered by a user of the system ( e.g., via input at a respective user device 300.. by determining a synonym for an identifier of an element (e.g., a column) of a data model 120 and replacing and/or suggesting a replacement of the identifier with the synonym”; [0045] “that provide one or more predetermined alterations to various entities associated with and/or based on data that is stored on the corresponding database”; [0086] “database 300 may represent one or more databases, data sources, file stores, or a combination thereof”; [0063] “information from the data model 120 and/or the data of the database 200” – information from the data model and information from database has been interpreted as metadata).
… of the natural language interface… (see Villard, [0129] “the set of synonyms is provided by, and/or augmented by, a user (e.g., as described in more detail below with reference to at least FIG. 6 through FIG. 9)… These natural language synonyms allow a respective agent 112 to communicate with, and provide improved query results for, users… by interpreting requests provided the respective user using the natural language synonyms”; [0141] “a first user 300-1 creates the skill 602-N which provides a training set of synonyms 722-1 for dimension A 720-1 and synonyms 722-2”) the set of metadata comprising the synonyms for the data fields and the data values… (see Villard, [0125] “identifying data fields in a dimensions (e.g., identifying a data field as a metric or identifying a data field as a filter)… adding synonyms for metric names (e.g., adding one or more synonyms for a particular term), dimension names (e.g., renaming an identifier), and/or dimension values (e.g., altering a value of 0.0001 to be 1*10.sup.4)… the data model 120 is altered in response to receiving an indication from the user device 300 of a required alteration to the data model 120… the altering of the present disclosure (e.g., altering by a user device 300 and/or agent 112) alters one or more names of one or more data fields”; [0062] “provide alterations to the data model 120… created and/or altered by a user of the system ( e.g., via input at a respective user device 300.. by determining a synonym for an identifier of an element (e.g., a column) of a data model 120 and replacing and/or suggesting a replacement of the identifier with the synonym”; [0045] “that provide one or more predetermined alterations to various entities associated with and/or based on data that is stored on the corresponding database”; [0086] “database 300 may represent one or more databases, data sources, file stores, or a combination thereof”; [0063] “information from the data model 120 and/or the data of the database 200” – information from the data model and information from database has been interpreted as metadata).
receiving, from a second user… via the natural language interface, a natural language command directed to the data source; (see Villard, [0141] “a second user 300-2 which is in communication with one or more of the selected channels 726 provides a natural language query to a respective agent 112 of the database”).
applying the set of metadata comprising the synonyms for the data fields and the data values… (see Villard, [0125] “identifying data fields in a dimensions (e.g., identifying a data field as a metric or identifying a data field as a filter)… adding synonyms for metric names (e.g., adding one or more synonyms for a particular term), dimension names (e.g., renaming an identifier), and/or dimension values (e.g., altering a value of 0.0001 to be 1*10.sup.4)… the data model 120 is altered in response to receiving an indication from the user device 300 of a required alteration to the data model 120… the altering of the present disclosure (e.g., altering by a user device 300 and/or agent 112) alters one or more names of one or more data fields”; [0062] “provide alterations to the data model 120… created and/or altered by a user of the system ( e.g., via input at a respective user device 300.. by determining a synonym for an identifier of an element (e.g., a column) of a data model 120 and replacing and/or suggesting a replacement of the identifier with the synonym”; [0045] “that provide one or more predetermined alterations to various entities associated with and/or based on data that is stored on the corresponding database”; [0086] “database 300 may represent one or more databases, data sources, file stores, or a combination thereof”; [0063] “information from the data model 120 and/or the data of the database 200” – information from the data model and information from database has been interpreted as metadata) to interpret one or more terms in the natural language command; translating the interpreted one or more terms into one or more database queries; (see Villard, [0141] “a second user 300-2 which is in communication with one or more of the selected channels 726 provides a natural language query to a respective agent 112 of the database, and the agent is able interpret the natural language provided by the second user… the user enters one or more synonyms (e.g., modified identifier) to describe the respective dimensions and values in natural language… there is at least one alternate semantic description of the one or more dimensions and/or value of train a skill 132 of the respective agent 112. Thus, the agent 112 is enabled to convert a natural language entity ( e.g., "in California") into a dimension and/or a value ( e.g., dimension="state," and/or value for state="CA") of the data model 120”; [0110] “an agent 112 may determine multiple potential database queries that correspond to a user input request (e.g., queries that specify "California" or "Canada" as a filter, in response to a user request that includes the abbreviation "CA"), and may provide the user with an option to select among multiple options that correspond to the multiple potential database queries”).
executing the one or more database queries to retrieve data from the data source; and (see Villard, [0136] “transmitting, from the respective agent 112 to the corresponding database 200, a database query 152 which corresponds to the determined sample request 142. This database query 152 retrieves information from the database 200 related to the user request”; [0086] “database 300 may represent one or more databases, data sources, file stores, or a combination thereof”).
generating and displaying a data visualization in accordance with the retrieved data (see Villard, [0136] “includes transmitting, to the user device 300, a response (e.g., an output) which corresponds to the database query 152. This provides the user with the requested information of the database 200”; [0057] “transmits a result of the request (e.g., a result of a database query) to the user (e.g., by displaying the result at a user device associated with the respective user)”).
Villard does not explicitly teach receiving from a first user of a first user group input specifying a set of metadata comprising data value of a data source; storing the set of metadata comprising data value of the data source separately from the data source; validating, based on permissions governing user access, that a second user group of the natural language interface has permission to access the set of metadata comprising data value of the data source, wherein the first user group and the second user group are distinct user groups; a second user of the second user group; the set of metadata comprising data value of the data source.
However, Scott discloses restrictions at metadata level and teaches
receiving metadata from a user of a first user group (see Scott, [0056] “The Metadata Editor may comprise a set of functional features that can allow an authorized user or system administrator to configure, model, and otherwise manage metadata”; [0077] “A user may belong to one or more groups and all field restrictions applicable to those user groups would be applicable to the user”; [0031] “Metadata can be created manually (also referred to as custom metadata)… Manual creation tends to be more accurate, allowing the user to input any information”; [0078] “User Group 1”).
storing metadata (see Scott, [0080] “field restrictions are stored in a database with the metadata but in a separate table”).
validating, based on permissions governing user access, that a second user group… has permission to access metadata… (see Scott, [0076] “This allows different access rights to fields be imposed on different user groups… if Metadata Field 341 is identified as in Restriction Class A, a user group cannot see that field unless the user group is given access to Restriction Class A fields. A user group that does not have the right to access this restricted field may still be able to view the content and other unrestricted fields, but not able to view nor search on the metadata fields that are restricted”; [0032] “a media management system database stores properties associated with assets, including content-specific attributes… predefined associations (these include assignments of vocabulary control terms, rights and permissions, links, etc.)”; [0078] “User Group 1… Restriction Groups 2 and 3, but not Restriction Group 1, are applied to User Group 2”) wherein the first user group and the second user group are distinct user groups; (see Scott, [0076] “can have certain metadata fields restricted from viewing by end users who do not have the proper privilege or access rights, while the content of the digital asset and other metadata associated therewith may not be restricted… different restriction classes may be defined and a field that is tagged as restricted may be associated with a certain restriction class. This allows different access rights to fields be imposed on different user groups”; [0077] “the system can check to see what group or groups does the user belong and what field restrictions are applicable to the user's group(s)” – there are plurality of user groups; [0078] “User Group 1… Restriction Groups 2 and 3, but not Restriction Group 1, are applied to User Group 2”).
user of the second user group from the plurality of user groups (see Scott, [0076] “can have certain metadata fields restricted from viewing by end users who do not have the proper privilege or access rights, while the content of the digital asset and other metadata associated therewith may not be restricted… different restriction classes may be defined and a field that is tagged as restricted may be associated with a certain restriction class. This allows different access rights to fields be imposed on different user groups”; [0077] “the system can check to see what group or groups does the user belong and what field restrictions are applicable to the user's group(s)” – there are plurality of user groups; [0084] “may provide ways of searching restricted and unrestricted fields. Searching may be field or keyword based. In field searching, a user selects a field to be searched. Keyword searching may be performed across assets”; [0078] “Restriction Groups 2 and 3, but not Restriction Group 1, are applied to User Group 2”).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to include the functionality of user groups, storing metadata, permissions to access metadata, organization and index as being disclosed and taught by Scott, in the system taught by Villard to yield the predictable results of effectively and efficiently managing digital assets and their respective metadata (see Scott, [0006]-[0007] “With the growing use of media, it is increasingly important for an entity to have the ability to manage their digital assets efficiently and effectively. Within the context of this disclosure, an asset may refer to a media management object having both editorial content and a description of the content properties… for managing metadata associated with digital assets, including tabulated metadata… metadata management functions disclosed herein can be implemented as part of a digital asset management system, a content management system, a media management system, or the like”).
The proposed combination of Villard and Scott does not explicitly teach input specifying a set of metadata comprising data value of a data source; the set of metadata comprising data value of the data source separately from the data source; the set of metadata comprising data value of the data source, the set of metadata comprising data value of the data source.
However, Wasserman discloses metadata and teaches
metadata includes mapping of a data source and synonym; (see Wasserman, [col 3 lines 23-] “The metadata 102A may include a topology and synonyms and a variety of other custom defined relationships between terms and phrases associated with a particular industry… Moreover, the metadata 102A maps to fields of a data store table included within the data store 102B… The data store 102B may be a database (relational or 00) and/or a collection of disparate databases organized as a data warehouse… the data store 102B may be any type of commercially available data store 102B, open source data store 102B, or custom-developed data store 102B”).
metadata includes mapping of the data source and synonym (see Wasserman, [col 3 lines 23-] “The metadata 102A may include a topology and synonyms and a variety of other custom defined relationships between terms and phrases associated with a particular industry… Moreover, the metadata 102A maps to fields of a data store table included within the data store 102B… The data store 102B may be a database (relational or 00) and/or a collection of disparate databases organized as a data warehouse… the data store 102B may be any type of commercially available data store 102B, open source data store 102B, or custom-developed data store 102B”) metadata is stored separately from the data source; (see Wasserman, [col 3 lines 43] “the metadata 102A may reside outside the data store 102B”).
metadata includes mapping of the data source and synonym, (see Wasserman, [col 3 lines 23-] “The metadata 102A may include a topology and synonyms and a variety of other custom defined relationships between terms and phrases associated with a particular industry… Moreover, the metadata 102A maps to fields of a data store table included within the data store 102B… The data store 102B may be a database (relational or 00) and/or a collection of disparate databases organized as a data warehouse… the data store 102B may be any type of commercially available data store 102B, open source data store 102B, or custom-developed data store 102B”).
metadata includes mapping of the data source and synonym, (see Wasserman, [col 3 lines 23-] “The metadata 102A may include a topology and synonyms and a variety of other custom defined relationships between terms and phrases associated with a particular industry… Moreover, the metadata 102A maps to fields of a data store table included within the data store 102B… The data store 102B may be a database (relational or 00) and/or a collection of disparate databases organized as a data warehouse… the data store 102B may be any type of commercially available data store 102B, open source data store 102B, or custom-developed data store 102B”).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to include the functionality of metadata including mapping of data store along with storing metadata separately as being disclosed and taught by Wasserman, in the system taught by in the proposed combination of Villard and Scott to yield the predictable results of applying metadata to effectively determine query results (see Wasserman, [col 14 lines 26-34] “the query service may receive additional selections associated with metadata of the query results. In response to this, the query service may populate a second data store query and issue the second data store query against a temporary data store table that houses the query results. Next, the new query results associated with executing a new search against the original query results are re-presented to the searcher”).
Claims 10 and 16 incorporate substantively all the limitations of claim 1 in a device form (see Villard, [0085] “user device 300 includes one or more processors (e.g., as described with regard to processor 176; e.g., processor 374 of FIG. 4), and memory (e.g., as described with regard to memory 102; e.g., memory 302 of FIG. 4), and one or more of the modules described with regard to memory 202 is implemented on a user device 300”) and computer-readable medium form (see Villard, [0068] “non-transitory computer readable storage medium of memory 102, provide instructions for implementing respective operations in the methods described below”) and are rejected under the same rationale.
Regarding claim 3, the proposed combination of Villard, Scott and Wasserman teaches
wherein the first user group and the second user group are grouped by access permissions (see Scott, [0069] “Groups 345 may be configured to allow the administrator to apply the particular restriction class to one or more defined user groups”; [0078] “Restriction Group 1, but not Restriction Groups 2 and 3, may be applied to User Group 1… Restriction Groups 2 and 3, but not Restriction Group 1, are applied to User Group 2”) within an organization (see Scott, [0027] “to provide remote users with a way to access an internal network of an organization or entity”; [0072] “a digital asset may be associated with a Salary field which all user groups are restricted from viewing the Salary field except for the Human Resources (HR) User Group”). The motivation for the proposed combination is maintained.
Claims 12 and 18 incorporate substantively all the limitations of claim 3 in a device form and computer-readable medium form and are rejected under the same rationale.
Regarding claim 4, the proposed combination of Villard, Scott and Wasserman teaches
wherein the set of metadata is (see Villard, [0125] “identifying data fields in a dimensions (e.g., identifying a data field as a metric or identifying a data field as a filter)… adding synonyms for metric names (e.g., adding one or more synonyms for a particular term), dimension names (e.g., renaming an identifier), and/or dimension values (e.g., altering a value of 0.0001 to be 1*10.sup.4)… the data model 120 is altered in response to receiving an indication from the user device 300 of a required alteration to the data model 120… the altering of the present disclosure (e.g., altering by a user device 300 and/or agent 112) alters one or more names of one or more data fields”; [0062] “provide alterations to the data model 120… created and/or altered by a user of the system ( e.g., via input at a respective user device 300.. by determining a synonym for an identifier of an element (e.g., a column) of a data model 120 and replacing and/or suggesting a replacement of the identifier with the synonym”; [0045] “that provide one or more predetermined alterations to various entities associated with and/or based on data that is stored on the corresponding database”; [0086] “database 300 may represent one or more databases, data sources, file stores, or a combination thereof”; [0063] “information from the data model 120 and/or the data of the database 200” – information from the data model and information from database has been interpreted as metadata) for a specific business use case (see Villard, [0002] “Data analytics is a vital tool for many businesses and entities, allowing these organizations to quantify and summarize stored data”).
Claim 13 incorporates substantively all the limitations of claim 4 in a device form and is rejected under the same rationale.
Regarding claim 6, the proposed combination of Villard, Scott and Wasserman teaches
wherein applying the set of metadata (see Villard, [0125] “identifying data fields in a dimensions (e.g., identifying a data field as a metric or identifying a data field as a filter)… adding synonyms for metric names (e.g., adding one or more synonyms for a particular term), dimension names (e.g., renaming an identifier), and/or dimension values (e.g., altering a value of 0.0001 to be 1*10.sup.4)… the data model 120 is altered in response to receiving an indication from the user device 300 of a required alteration to the data model 120… the altering of the present disclosure (e.g., altering by a user device 300 and/or agent 112) alters one or more names of one or more data fields”; [0062] “provide alterations to the data model 120… created and/or altered by a user of the system ( e.g., via input at a respective user device 300.. by determining a synonym for an identifier of an element (e.g., a column) of a data model 120 and replacing and/or suggesting a replacement of the identifier with the synonym”; [0045] “that provide one or more predetermined alterations to various entities associated with and/or based on data that is stored on the corresponding database”; [0086] “database 300 may represent one or more databases, data sources, file stores, or a combination thereof”; [0063] “information from the data model 120 and/or the data of the database 200” – information from the data model and information from database has been interpreted as metadata) to interpret the one or more terms in the natural language command includes: (see Villard, [0141] “a second user 300-2 which is in communication with one or more of the selected channels 726 provides a natural language query to a respective agent 112 of the database, and the agent is able interpret the natural language provided by the second user… the user enters one or more synonyms (e.g., modified identifier) to describe the respective dimensions and values in natural language… there is at least one alternate semantic description of the one or more dimensions and/or value of train a skill 132 of the respective agent 112. Thus, the agent 112 is enabled to convert a natural language entity ( e.g., "in California") into a dimension and/or a value ( e.g., dimension="state," and/or value for state="CA") of the data model 120”; [0110] “an agent 112 may determine multiple potential database queries that correspond to a user input request (e.g., queries that specify "California" or "Canada" as a filter, in response to a user request that includes the abbreviation "CA"), and may provide the user with an option to select among multiple options that correspond to the multiple potential database queries”).
applying a first index of metadata (see Scott, [0041] “When indexing tabular metadata”) the set of metadata to determine one or more synonyms for the one or more terms in the natural language command, the one or more synonyms corresponding to at least one of a first data field (see Villard, [0141] “providing synonyms for the entity, as indicated at input field 722-1… a second user 300-2 which is in communication with one or more of the selected channels 726 provides a natural language query to a respective agent 112 of the database, and the agent is able interpret the natural language provided by the second user… the user enters one or more synonyms (e.g., modified identifier) to describe the respective dimensions and values in natural language… there is at least one alternate semantic description of the one or more dimensions and/or value of train a skill 132 of the respective agent 112. Thus, the agent 112 is enabled to convert a natural language entity ( e.g., "in California") into a dimension and/or a value ( e.g., dimension="state," and/or value for state="CA") of the data model 120”; [0110] “an agent 112 may determine multiple potential database queries that correspond to a user input request (e.g., queries that specify "California" or "Canada" as a filter, in response to a user request that includes the abbreviation "CA"), and may provide the user with an option to select among multiple options that correspond to the multiple potential database queries”). The motivation for the proposed combination is maintained.
Claim 15 incorporates substantively all the limitations of claim 6 in a device form and is rejected under the same rationale.
Regarding claim 8, the proposed combination of Villard, Scott and Wasserman teaches
wherein the set of metadata includes (see Villard, [0125] “identifying data fields in a dimensions (e.g., identifying a data field as a metric or identifying a data field as a filter)… adding synonyms for metric names (e.g., adding one or more synonyms for a particular term), dimension names (e.g., renaming an identifier), and/or dimension values (e.g., altering a value of 0.0001 to be 1*10.sup.4)… the data model 120 is altered in response to receiving an indication from the user device 300 of a required alteration to the data model 120… the altering of the present disclosure (e.g., altering by a user device 300 and/or agent 112) alters one or more names of one or more data fields”; [0062] “provide alterations to the data model 120… created and/or altered by a user of the system ( e.g., via input at a respective user device 300.. by determining a synonym for an identifier of an element (e.g., a column) of a data model 120 and replacing and/or suggesting a replacement of the identifier with the synonym”; [0045] “that provide one or more predetermined alterations to various entities associated with and/or based on data that is stored on the corresponding database”; [0086] “database 300 may represent one or more databases, data sources, file stores, or a combination thereof”; [0063] “information from the data model 120 and/or the data of the database 200” – information from the data model and information from database has been interpreted as metadata) suggested questions for at least some of the data fields or at least some of the data values of the data source (see Villard, [0011] “the information corresponding to the suggested alteration of the first data model includes at least a portion of the data subset of the first set of one or more databases”; [0131] “determining, by the first computer system (e.g., the agent 112), a suggested alteration to the data model and/or entity of the data model”; (see Villard, [0086] “database 300 may represent one or more databases, data sources, file stores, or a combination thereof”). The motivation for the proposed combination of maintained.
Claim 19 incorporates substantively all the limitations of claim 8 in a computer readable form and is rejected under the same rationale.
Claims 2, 9, 11, 17 and 20 are rejected under 35 U.S.C. 103 as being unpatentable over Villard , Scott and Wasserman further in view of Muse et al. (US 2021/0271662 A1, hereinafter “Muse”).
Regarding claim 2, the proposed combination of Villard, Scott and Wasserman teaches
wherein the first user group is... (see Scott, [0056] “The Metadata Editor may comprise a set of functional features that can allow an authorized user or system administrator to configure, model, and otherwise manage metadata”; [0077] “A user may belong to one or more groups and all field restrictions applicable to those user groups would be applicable to the user”; [0031] “Metadata can be created manually (also referred to as custom metadata)… Manual creation tends to be more accurate, allowing the user to input any information”) the data source (see Villard, [0086] “database 300 may represent one or more databases, data sources, file stores, or a combination thereof”).
The proposed combination of Villard, Scott and Wasserman does not explicitly teach an owner of the data source.
However, Muse discloses analyzing metadata and teaches
an owner of the data (see Muse, [0089] “one or more data ownership rules may establish that the user profile associated with the data source is to be identified as the initial owner of the data”).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to include the functionality of ownership as being disclosed and taught by Muse, in the system taught by in the proposed combination of Villard, Scott and Wasserman to yield the predictable results of effectively analyzing rules engine to determine data ownership (see Muse, [0088] “initial data ownership may be determined based at least in part on execution of a rules engine in association with the data management computing entity 65. As just one example, the data management computing entity 65 is configured to query one or more profiles identified as corresponding with the data element (e.g., based at least in part on determined relationships based at least in part on an attributed data source) to identify corresponding ownership and/or data access rules. The applicable rules may be retrieved from the appropriate user profiles and utilized for analyzing the data element to determine appropriate data ownership”).
Claims 11 and 17 incorporate substantively all the limitations of claim 2 in a device form and computer-readable medium form and are rejected under the same rationale.
Regarding claim 9, the proposed combination of Villard, Scott and Wasserman teaches
wherein the set of metadata is associated with (see Villard, [0125] “identifying data fields in a dimensions (e.g., identifying a data field as a metric or identifying a data field as a filter)… adding synonyms for metric names (e.g., adding one or more synonyms for a particular term), dimension names (e.g., renaming an identifier), and/or dimension values (e.g., altering a value of 0.0001 to be 1*10.sup.4)… the data model 120 is altered in response to receiving an indication from the user device 300 of a required alteration to the data model 120… the altering of the present disclosure (e.g., altering by a user device 300 and/or agent 112) alters one or more names of one or more data fields”; [0062] “provide alterations to the data model 120… created and/or altered by a user of the system ( e.g., via input at a respective user device 300.. by determining a synonym for an identifier of an element (e.g., a column) of a data model 120 and replacing and/or suggesting a replacement of the identifier with the synonym”; [0045] “that provide one or more predetermined alterations to various entities associated with and/or based on data that is stored on the corresponding database”; [0086] “database 300 may represent one or more databases, data sources, file stores, or a combination thereof”; [0063] “information from the data model 120 and/or the data of the database 200” – information from the data model and information from database has been interpreted as metadata) an identifier,... (see Villard, [0062] “by determining a synonym for an identifier of an element ( e.g., a column) of a data model 120”) and permissions governing user access (see Scott, [0029] “A user at computer 110A may be permitted to access certain digital assets”).
The proposed combination of Villard, Scott and Wasserman does not explicitly teach an owner.
However, Muse discloses analyzing metadata and teaches
an owner, (see Muse, [0054] “for attributing and/or modifying data ownership attributes of individual data elements”).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to include the functionality of ownership as being disclosed and taught by Muse, in the system taught by in the proposed combination of Villard, Scott and Wasserman to yield the predictable results of effectively analyzing rules engine to determine data ownership (see Muse, [0088] “initial data ownership may be determined based at least in part on execution of a rules engine in association with the data management computing entity 65. As just one example, the data management computing entity 65 is configured to query one or more profiles identified as corresponding with the data element (e.g., based at least in part on determined relationships based at least in part on an attributed data source) to identify corresponding ownership and/or data access rules. The applicable rules may be retrieved from the appropriate user profiles and utilized for analyzing the data element to determine appropriate data ownership”).
Claim 20 incorporates substantively all the limitations of claim 9 in a computer readable form and is rejected under the same rationale.
Claims 5 and 14 are rejected under 35 U.S.C. 103 as being unpatentable over Villard, Scott and Wasserman in view of Jensen et al. (US 2018/0060334 A1, hereinafter “Jensen”).
Regarding claim 5, the proposed combination Villard, Scott and Wasserman teaches
wherein the data source includes a data model… (see Villard, [0086] “database 300 may represent one or more databases, data sources, file stores, or a combination thereof”; [0042] “an agent is trained based on information collected from one or more sets of one or more databases 200 (e.g., trained based on a retrieved data model)”) from the data source, (see Villard, [0086] “database 300 may represent one or more databases, data sources, file stores, or a combination thereof”) and the set of metadata (see Villard, [0125] “identifying data fields in a dimensions (e.g., identifying a data field as a metric or identifying a data field as a filter)… adding synonyms for metric names (e.g., adding one or more synonyms for a particular term), dimension names (e.g., renaming an identifier), and/or dimension values (e.g., altering a value of 0.0001 to be 1*10.sup.4)… the data model 120 is altered in response to receiving an indication from the user device 300 of a required alteration to the data model 120… the altering of the present disclosure (e.g., altering by a user device 300 and/or agent 112) alters one or more names of one or more data fields”; [0062] “provide alterations to the data model 120… created and/or altered by a user of the system ( e.g., via input at a respective user device 300.. by determining a synonym for an identifier of an element (e.g., a column) of a data model 120 and replacing and/or suggesting a replacement of the identifier with the synonym”; [0045] “that provide one or more predetermined alterations to various entities associated with and/or based on data that is stored on the corresponding database”; [0086] “database 300 may represent one or more databases, data sources, file stores, or a combination thereof”; [0063] “information from the data model 120 and/or the data of the database 200” – information from the data model and information from database has been interpreted as metadata).
The proposed combination of Villard, Scott and Wasserman does not explicitly teach a semantic model that specifies metadata of data fields; is distinct from the metadata of data fields included in the semantic model.
However, Jensen discloses semantic mapping engine and teaches
a semantic model that specifies metadata of data fields… is distinct from the metadata of data fields included in the semantic model (see Jensen, [0050] “if data source has a field that has a metadata label MemberID, the semantic mapping engine 208 can reasonably guess that this is probably the identity of a member which can be mapped back to the semantic model”; [0013] “whereby data and associated metadata are obtained from multiple data sources and then mapped to a semantic model”).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to include functionality of semantic model as being taught by Jensen in the system taught by the proposed combination of Villard, Scott and Wasserman, to yield the predictable results of achieving simplified data consumption of information across multiple disparate data sources (see Jensen, [0014] “provide systems and methods to achieve simplified data consumption of information across multiple disparate data sources by providing an intelligent or smart data service that understands data requests from applications and coordinates with a broker to respond back with relevant data results”).
Claim 14 incorporates substantively all the limitations of claim 5 in a computer-readable medium form and is rejected under the same rationale.
Claims 7 is rejected under 35 U.S.C. 103 as being unpatentable over Villard, Scott and Wasserman in view of Noh at al. (US 10,740,311 B2, hereinafter “Noh”).
Regarding claim 7, the proposed combination of Villard, Scott and Wasserman teaches
wherein executing the one or more database queries to retrieve the data from the data source includes… (see Villard, [0136] “transmitting, from the respective agent 112 to the corresponding database 200, a database query 152 which corresponds to the determined sample request 142. This database query 152 retrieves information from the database 200 related to the user request”; [0086] “database 300 may represent one or more databases, data sources, file stores, or a combination thereof”) at the data source, (see Villard, [0086] “database 300 may represent one or more databases, data sources, file stores, or a combination thereof”).
The proposed combination of Villard, Scott and Wasserman does not explicitly teach looking up the one or more database queries in a second index maintained and collocated at the data source, wherein the second index is distinct from the first index.
However, Noh discloses indexes and teaches
looking up the one or more database queries in a second index maintained and collocated… (see Noh, [col 3 lines 59—62] “can select the indexes 145 based on prior query history of the database or based on database client inputs that select the types of indexes that are desired by the user”; [col 4 line 12] “the indexes are rebuilt” – there are plurality of indexes; [col 11 line 12] “to build a second index”) wherein the second index is distinct from the first index (see Noh, [col 11 lines 11-14] “wherein a first request to build a first index is processed before a second request to build a second index when the first index is smaller than the second index” – the first index and second index are distinct).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to include functionality of indexes as being taught by Noh in the system taught by the proposed combination of Villard, Scott and Wasserman, to yield the predictable results of ensuring that that information from the database can be retrieved quickly and efficiently since an index is a sorted copy of selected database table fields that can allow for a query to retrieve information quickly and without having to scan the entire database to retrieve a selection of information (see Noh, [col 3 lines 10-17] “As part of its function, query optimizer 170 can also generate indexes to ensure that that information from the database can be retrieved quickly and efficiently. An index is a sorted copy of selected database table fields that can allow for a query to retrieve information quickly and without having to scan the entire database to retrieve a selection of information”).
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to VAISHALI SHAH whose telephone number is (571)272-8532. The examiner can normally be reached Monday - Friday (7:30 AM to 4:00 PM).
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, AJAY BHATIA can be reached at (571)272-3906. 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.
/VAISHALI SHAH/Primary Examiner, Art Unit 2156