DETAILED ACTION
This office action is in response to applicant's communication filed on 01/28/2026.
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 01/28/2026 has been entered.
Response to Amendment
The Applicant's remarks and amendments, in response to the last Office Action, have been considered with the results that follow:
Claims 1, 11, 21, and 31 are amended
Claims 1-32 are now pending in this application.
Response to Arguments
Applicant's arguments filed 01/28/2026 have been fully considered but they are not persuasive.
With respect to arguments on pages 12-14, “…With regard to the claimed subject matter, it is not possible for a human mind by itself to create one or more schema fragments using an API or a schema editor. The human mind simply does not have an API or schema editor as understood by the claim…claim therefore pursuant to MPEP 2106 does not fall into the category of a mental process. The Office Action asserts that this action is merely a data gathering step, and is at a high level of generality. Applicant respectfully disagrees, and notes that this element provides a very specific and detailed way to create the one or more schema fragments - where the very specific approaches of using an API or a schema editor is recited in the claim…”:
The Examiner respectfully disagrees with the applicant’s arguments, and notes that the claim in its current form does not provide any details about what a schema editor or API entails, and further does not appear to describe any specific approaches of using an API or a schema editor in order to create schema fragments. Therefore, the examiner maintains that the limitation ‘creating one or more schema fragments using an API or a schema editor’ is recited at a very high level of generality, and suggests applicant to clarify which limitation(s) in the claim is purported to describe specific approaches of using an API/schema editor. Further, as also elaborated in the USC 101 sections in the prior and current office actions, this particular limitation is not being identified as a mental process, but as an additional element recited at a high level of generality and that amounts to mere data gathering which is simply a form of insignificant extra-solution activity. Neither the claim nor the specification appears to provide any indication that such data collection/manipulation is performed by anything other than a generic, off-the-shelf computer component, and the Symantec, TLI, and OIP Techs. court decisions cited in MPEP 2106.05(d)(II) indicate that mere collection or receipt of data over a network is a well‐understood, routine, conventional function when it is claimed in a merely generic manner (as it is done in the current claims).
As such, the rejection of the claim is maintained.
With respect to arguments on page 14, “…Furthermore, the amended claims now also recite…These claimed aspects in claim 1 very clearly cannot be performed in the human mind by itself, since the human mind by itself cannot possibly maintain "a database comprising one or more objects stored in a computer readable medium of the database"…human mind by itself cannot update "one or more objects by attaching a schema fragment id by reference, wherein updated objects are overwritten in the database"…also stated in MPEP 2106, "a specific implementation of a solution to a problem in the software arts" would extend a given claim beyond the scope of a mere general purpose computer. Here, the specific implementation recited in the claim refers to the act of creating one or more schema fragments using an API or a schema editor, which extend beyond just the simple concept of a general computer. In addition, the claims recite "maintaining a database … wherein updated objects are overwritten in the database", which also extend far beyond the concept of a general purpose computer…”
The Examiner respectfully disagrees with the applicant’s arguments, and notes that the above-referenced/amended limitations in the claim are recited at a high level of generality, and do not appear to include any specific approaches that would extend far beyond the concept of a general-purpose computer and/or preclude the steps from practically being performed in the human mind. Therefore, as also elaborated in the USC 101 sections in prior and current office actions, the examiner maintains that the broadest reasonable interpretation of the limitations “maintaining a database comprising one or more objects… updating the one or more objects by attaching a schema fragment id by reference, wherein updated objects are overwritten in the database” merely involve the user tracking some data, and updating the data, which covers performance of the limitations in the mind but for the recitation of generic computer components. Moreover, the claim elements ‘maintaining a database comprising one or more objects stored in a computer readable medium of the database…’ being recited at a high level of generality amounts to mere data gathering/outputting, which is a form of insignificant extra-solution activity. The examiner maintains that the claim recites abstract ideas of a mental process, and the combination of the additional elements is no more than mere instructions to apply the exception using a generic computer component and the additional elements do not integrate the abstract idea into a practical application because it does not impose any meaningful limits on practicing the abstract idea.
Further, the examiner notes that the claim as it reads now does not appear to describe any specific approaches of using an API or a schema editor in order to create schema fragments or what a schema editor/API entails, and thereby maintains that the limitation ‘creating one or more schema fragments using an API or a schema editor’ is recited at a high level of generality. Similarly, the newly amended limitations ‘maintaining a database comprising one or more objects stored in a computer readable medium of the database" as well as "updating the one or more objects by attaching a schema fragment id by reference, wherein updated objects are overwritten in the database" are recited at a high level of generality. Therefore, the examiner maintains that these limitations do not extend the given claim beyond the scope of a mere general-purpose computer.
With respect to arguments on pages 17-19, “…As previously discussed above, the portions of Hale identified in the Office Action describe the circumstances where the building blocks are the objects and the thing being constructed from the objects is the schema. In contrast, what is claimed in claim 1 is the" ...updating one or more objects by attaching a schema fragment id by reference ... ", where the building blocks are the schema fragments and the thing being constructed from the schema
fragments is the object…Hale is basically describing the exact reverse of what is currently claimed. Therefore, in Hale, the objects are the smaller portions that are used to make the larger schema. In contrast, and opposite of the cited portions of Hale, claim 31 makes clear that what is being claimed is where the schema fragments are the smaller portions that are used to make the larger object…”
The Examiner respectfully disagrees with the applicant’s arguments and notes that even though certain terminologies used by Hale (such as, schema, object, data object, field of an object) appear to be similar to terminologies recited in the claim, they are being used to refer to different elements/elements with different scope which is commonly seen in the art. For instance, the scope of the terms: ‘object’, ‘schema’, ‘fragment’ appears to be different in Hale and the current claims. In particular, the examiner notes that the scope of the term ‘schema’ used in Hale appears to be the same as the scope of the term ‘object’ in the claims, and the scope of the term ‘object’ as used in Hale appears to be the same as the scope of the term ‘schema fragment’ in the claims. Furthermore, the examiner notes that the specification in para[0014], among other paragraphs, states: “One or more implementations of the present specification provides a framework to define the schema of a custom or customized object using multiple schemas.”. This seems to be aligned with the examiner’s interpretation that the term ‘schema’ used in Hale reads on the claim element ‘object’ in the current claims, and it is evident that cited portions of Hale are not describing the exact reverse of what is currently claimed.
As such, the rejection of the claims are maintained. With respect to remarks corresponding to the newly added language in independent claims, the examiner notes that the previously cited reference Hale appears to teach the limitations in paras47-51 among others, as described in USC 103 section below.
Claim Objections
Claims 1-10, and 31-32 are objected to because of the following informalities:
In independent claim 1, the scope of limitation ‘…maintaining a database comprising one or more objects stored in a computer readable medium of the database;’ is confusing. It is unclear what ‘a computer readable medium of the database’ entails. Based on para78 of specification that states “A database 1432 may be accessed in a computer readable medium 1431 using a data interface 1433.”, the examiner interprets the limitation to be ‘…maintaining a database comprising one or more objects ’ Examiner suggests applicant to rephrase the claim as appropriate.
In independent claim 31, the scope of limitation ‘wherein a database is maintained that comprises the one or more multiple objects stored in a computer readable medium of the database…’ is confusing. It is unclear what ‘a computer readable medium of the database’ entails. Based on para78 of specification that states “A database 1432 may be accessed in a computer readable medium 1431 using a data interface 1433.”, the examiner interprets the limitation to be ‘…wherein a database is maintained within a computer readable medium and ’ Examiner suggests applicant to rephrase the claim as appropriate.
Dependent claims 2-10 and 32 are also objected to for the above reasons.
Appropriate correction is required.
Claim Rejections - 35 USC § 101
35 U.S.C. 101 reads as follows:
Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title.
Claims 1-32 are rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more.
Regarding independent claims 1, 21, and 31,
Step 2A, Prong 1: The claims are directed to an abstract idea. The limitations of “…maintaining a database comprising one or more objects…updating one or more schema fragments; assigning one or more default values to custom fields wherein each schema fragment should comprise at least one custom field; updating the one or more objects by attaching a schema fragment id by reference, wherein updated objects are overwritten in the database; including all the custom fields of the schema fragment by default in the object; and editing the values of the custom fields in the object”, as drafted, is a process that under its broadest reasonable interpretation, covers performance of the limitation in the mind but for the recitation of generic computer components. That is, other than reciting “computer implemented”, nothing in the claim elements precludes the steps from practically being performed in the human mind. For example, but for the “computer implemented” language, the claim encompasses the user tracking some data, and thinking that available schema data should be modified by entering default values for some fields that are changeable in the data, then thinking about other data marked as related to available schema data. But for the “computer implemented” language, the claim further encompasses the user identifying object data including changeable fields in the available schema data, then changing values of the changeable fields, and further updating the data being tracked. Thus, the claims recite abstract ideas of a mental process and are not patent eligible.
Step 2A, Prong 2: This judicial exception is not integrated into a practical application. The claim recites additional elements of: ‘maintaining a database comprising one or more objects stored in a computer readable medium of the database, creating one or more schema fragments using an API or a schema editor’. The maintaining/storing and creating steps are recited at a high level of generality and amount to mere data gathering/outputting, which is a form of insignificant extra-solution activity. The combination of these additional elements is no more than mere instructions to apply the exception using a generic computer component (“computer”). Accordingly, even in combination, i.e., considering the additional element(s) as an ordered combination with the claims as a whole and the abstract idea recited, the additional elements do not integrate the abstract idea into a practical application because it does not impose any meaningful limits on practicing the abstract idea.
Step 2B: The claims do not include additional elements that are sufficient to amount to significantly more than the judicial exception, even in combination, i.e., considering the additional element(s) as an ordered combination with the claims as a whole and the abstract idea recited. As discussed above with respect to integration of the abstract idea into a practical application, the additional elements in the claim: ‘maintaining a database comprising one or more objects stored in a computer readable medium of the database, creating one or more schema fragments using an API or a schema editor’, are at a high level of generality and amount to mere data gathering/outputting, which is a form of insignificant extra-solution activity, and being computer-implemented, amount to no more than mere instructions to apply the exception using a generic computer component. The specification does not provide any indication that such data collection or manipulation is performed by anything other than a generic, off-the-shelf computer component, and the Symantec, TLI, and OIP Techs. court decisions cited in MPEP 2106.05(d)(II) indicate that mere collection or receipt of data over a network is a well‐understood, routine, conventional function when it is claimed in a merely generic manner (as it is here). Accordingly, a conclusion that the maintaining/storing/creating steps are well-understood, routine, conventional activity is supported under Berkheimer memo. Thus, the claims are not patent eligible.
Regarding independent claim 31,
Step 2A, Prong 1: The claim is directed to an abstract idea. The limitations of “define schema fragments that comprises multiple custom data fields wherein each schema fragment can be used to add custom data fields to multiple objects, wherein each schema fragment is defined by a set of custom fields representing similar kind of data fields, wherein each schema fragment can define multiple objects from multiple schemas …updated objects of the one or more multiple objects are overwritten in the database”, as drafted, is a process that under its broadest reasonable interpretation, covers performance of the limitation in the mind but for the recitation of generic computer components. That is, other than reciting “computer implemented”, nothing in the claim elements precludes the steps from practically being performed in the human mind. For example, but for the “computer implemented” language, the claim encompasses the user thinking about data fragments comprising plurality of custom fields that can be added to object data. Furthermore, but for the “computer implemented” language, the claim encompasses the user thinking about custom fields in a fragment representing similar data, fragments representing plurality of object data in plurality of schema data, and further updating the data being tracked. Thus, the claims recite abstract ideas of a mental process and are not patent eligible.
Step 2A, Prong 2: This judicial exception is not integrated into a practical application. The claim recites additional elements of: ‘…database is maintained that comprises the one or more multiple objects stored in a computer readable medium of the database’. The maintaining/storing steps are recited at a high level of generality and amount to mere data gathering/outputting, which is a form of insignificant extra-solution activity. The combination of these additional elements is no more than mere instructions to apply the exception using a generic computer component (“computer”). Accordingly, even in combination, i.e., considering the additional element(s) as an ordered combination with the claims as a whole and the abstract idea recited, the additional elements do not integrate the abstract idea into a practical application because it does not impose any meaningful limits on practicing the abstract idea.
Step 2B: The claims do not include additional elements that are sufficient to amount to significantly more than the judicial exception, even in combination, i.e., considering the additional element(s) as an ordered combination with the claims as a whole and the abstract idea recited. As discussed above with respect to integration of the abstract idea into a practical application, the additional elements in the claim: ‘…database is maintained that comprises the one or more multiple objects stored in a computer readable medium of the database’, are at a high level of generality and amount to mere data gathering/outputting, which is a form of insignificant extra-solution activity, and being computer-implemented, amount to no more than mere instructions to apply the exception using a generic computer component. The specification does not provide any indication that such data collection or manipulation is performed by anything other than a generic, off-the-shelf computer component, and the Symantec, TLI, and OIP Techs. court decisions cited in MPEP 2106.05(d)(II) indicate that mere collection or receipt of data over a network is a well‐understood, routine, conventional function when it is claimed in a merely generic manner (as it is here). Accordingly, a conclusion that the maintaining/storing steps are well-understood, routine, conventional activity is supported under Berkheimer memo. Thus, the claims are not patent eligible.
Regarding dependent claims 2-10, 12-20, 22-30 and 32,
Claims 2-10 are dependent on claim 1 and include all the limitations of claim 1. Similarly, claims 12-20 are dependent on claim 11 and include all the limitations of claim 11, claims 22-30 are dependent on claim 21 and include all the limitations of claim 21 and claim 32 is dependent on claim 31 and include all the limitations of claim 31. Therefore, claims 2-10, 12-20, 22-30 and 32 recite the same abstract ideas of a mental process.
Claims 2, 12 and 22 further recite the additional limitations of ‘deleting the custom fields… including new custom fields… updating the schema fragment id…’, which elaborate in the abstract ideas of a mental process, and therefore, do not amount to significantly more than the abstract idea. Thus, the claims are not patent eligible.
Claims 3, 13 and 23 further recite the additional limitations ‘deleting the custom fields… including new fields… updating fragment ids…’, which elaborate in the abstract ideas of a mental process, and therefore, do not amount to significantly more than the abstract idea. Thus, the claims are not patent eligible.
Claims 4, 14 and 24 further recite the additional limitations regarding ‘reading the object… verifying for a custom fragment id… checking for any update… updating custom fields… deleting previous version… assigning default values… substituting the fragment id…’ which elaborate in the abstract ideas of a mental process, and therefore, do not amount to significantly more than the abstract idea. Thus, the claims are not patent eligible.
Claims 5, 15 and 25 further recite the additional limitations of ‘reading the object… verifying for a custom fragment id… checking for any update… updating custom fields… deleting previous version… assigning default values… substituting the schema fragment id… overwriting the object…’, which elaborate in the abstract ideas of a mental process, and therefore, do not amount to significantly more than the abstract idea. Thus, the claims are not patent eligible.
Claims 6, 16 and 26 further recite the additional limitations of ‘verifying for a custom fragment id… checking for any update available… updating multiple objects… updating the custom fields… deleting previous version… assigning default values… substituting the schema fragment id...’, which elaborate in the abstract ideas of a mental process, and therefore, do not amount to significantly more than the abstract idea. Thus, the claims are not patent eligible.
Claims 7, 17 and 27 further recite the additional limitations of ‘verifying for a custom fragment id… checking for any update… updating multiple objects… updating the custom fields… deleting previous version… assigning default values… substituting the schema fragment id… overwriting the multiple objects…’, which elaborate in the abstract ideas of a mental process, and therefore, do not amount to significantly more than the abstract idea. Thus, the claims are not patent eligible.
Claims 8, 18 and 28 further recite the additional limitations of ‘verifying for a custom fragment id… checking for any update… updating object…updating the custom fields… deleting previous version… assigning default values… substituting the schema fragment id…, which elaborate in the abstract ideas of a mental process, and therefore, do not amount to significantly more than the abstract idea. Thus, the claims are not patent eligible.
Claims 9, 19 and 29 further recite the additional limitations of ‘verifying for a custom schema fragment id… checking for any update…updating object… updating the custom fields… deleting previous version… assigning default values…
substituting the schema fragment id… overwriting the object…’, which elaborate in
the abstract ideas of a mental process, and therefore, do not amount to significantly more than the abstract idea. Thus, the claims are not patent eligible.
Claims 10, 20, 30 and 32 further recite the additional limitations of ‘schema fragments are immutable’, which elaborate in the abstract ideas of a mental process, and therefore, do not amount to significantly more than the abstract idea. Thus, the claims are not patent eligible.
Claim Rejections - 35 USC § 102
The following is a quotation of the appropriate paragraphs of 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action:
A person shall be entitled to a patent unless –
(a)(1) the claimed invention was patented, described in a printed publication, or in public use, on sale, or otherwise available to the public before the effective filing date of the claimed invention.
(a)(2) the claimed invention was described in a patent issued under section 151, or in an application for patent published or deemed published under section 122(b), in which the patent or application, as the case may be, names another inventor and was effectively filed before the effective filing date of the claimed invention.
Claim 31 is rejected under 35 U.S.C. 102(a)(2) as being anticipated by Hale (US 2013/0046799 A1).
Regarding claim 31,
Hale teaches A computer implemented method to define schema fragments that comprises multiple custom data fields wherein each schema fragment can be used to add custom data fields to one or more of multiple objects, wherein each schema fragment is defined by a set of custom fields representing similar kind of data fields, wherein each schema fragment can define the multiple objects from multiple schemas, wherein a database is maintained that comprises the one or more multiple objects stored in a computer readable medium of the database and updated objects of the one or more multiple objects are overwritten in the database. *see FIGS.4-9,20, paras 61-69(“FIG. 2A…online tool to create a new schema or modify an existing schema… step 202, the user system may select an existing schema to modify or create a new schema…request may be to add an object [schema fragments] and/or field to a schema [object], or to modify an object of a schema, by for example modifying a field of an object…208, the user system may receive a request to define the aspects of a data object, a field of a data object and/or relationship between data objects… FIGS. 2B and 2C…user chooses to add a field to an object [schema fragments… comprises…custom data fields]…210 b may involve the user selecting a type of field from a menu, and dragging and dropping the field into an object [add custom data fields to multiple objects]…user receives an updated view of the schema that includes the newly created field. If creating the field creates a relationship, then during step 204 the updated view of the schema may include a graphical representation of the relationship, such as line connecting two objects [schema fragment can define multiple objects from multiple schemas]…user chooses to add a data object, then step 210 b may involve performing step 214, where the user requests the creation of a data object…system field may be a field that each object gets automatically (e.g., created by, last modified by…legend may include one type of line (e.g., a dashed line) followed by the words “master-detail relationship”…solid line) followed by the words “lookup relationship”…vertical line) followed by the words “required field”…”), paras72-74 (“FIG. 2D…steps 212 and/or 214 of method 200, while creating or modifying an object or a field…case of adding a field, the location to which the graphical element is dropped indicates the data object to which the user wishes to add the field…adding of an object, the location to which the graphical element is dropped indicates the location to which the user wishes to add the object ...user may select an object to that is already created or a field that is already created and make a change that requires the details of the field or data object to be further defined [custom fields representing similar kind of data fields]… dialogue box is generated…include a number of fields for defining properties. Some of the fields may be required…step 240 the user fills in the fields…FIG. 3…tool to create a new schema or modify an existing schema…301, the server system receives a request…session may be opened in conjunction with the user first using another application or in conjunction with logging into the schema builder…server system receives input from a user…representation of the schema may include graphical representations of data object and of relationships between data objects…320, the server sends the message to the schema builder application…message may initiate a function call for rearranging the special relationship between data objects, creating or editing a data object, adding or editing field to a data object, and creating a new graphical representation of the schema based on the changes…server sends the results of step 320 to the user system with an updated graphical representation reflecting the changes for the schema…”), paras76-85(“ FIG. 4…schema builder… displaying a schema and relationships of data objects within the schema...Schema builder 410…building a schema using graphical representations of data objects within the schema and relationships between the data objects…may include the data object fields and/or the data type…relationships between the data objects…Data objects 418 are an example of a graphical representation of data objects on the canvas…ID fields 419 are examples of a field that may be included in a data object, such as a data object for a job application…field for identifying the job applicant. Data object menu 420…displays more information about the data object to the user, and provides the user with options for editing the data object…Field type 424 describes the type of data associated with a field…454 may be a pull down menu with a selection of the type of data objects, such as all data objects, selected data objects, standard data objects, custom data objects…Schema elements 456, when selected, allows the user to drag and drop schema elements, such as data object and relationships into the schema. Objects 458, when selected, allows the user to choose the data objects that are viewable on the canvas”), paras88-91(“FIG. 5… schema builder with add objects 500, displaying a schema and relationships of add objects within the schema…tab for objects 458 is not selected, and the tab for schema elements 456 is selected…user cannot choose the objects to view, but can add or modify elements of the schema. Schema builder with add objects…user selected a custom object to add to the schema. Custom object 501 is the schema element that the user chose to add to the schema [schema fragment…used to add custom data fields to multiple objects]. Schema builder with add objects 500 shows the custom object named being selected. Custom fields 502, lists types of fields that the user may choose to add to a data object…user may be offered a choice of whether to add a field that includes an automatically chosen number, a value determined by a formula, a value of a lookup relationship…FIG. 6…schema element is being dragged and dropped…Drag and drop object 602 is object the selected custom object 501 being dragged and dropped into canvas 415 to add a custom data object to the schema...”), paras47-51(“FIG. 1…include server system 101, application platform 102, schema builder 104, add objects 106, modify objects 108, add fields 110, modify fields 112, delete fields 114, delete objects 116, drag and drop 118, define objects 120, view objects 122, define object relationships… multi-tenant database 136…Server system 101 may include multi-tenant database for storing the tenant data, a database, and an application platform…user can use schema builder tool 104 to view and modify an existing schema…Database objects may be elements of data within a database system, or pieces of information that correspond, in some manner, to data in the database system…104 may organize the data objects based on the relationship of the data objects with other data objects. Schema builder 104 may be a tool to describe and visualize the data objects, the fields of the data objects, and/or the relationships between the data objects…Lookup relationships may be visually represented by lines connecting the related objects…database element (e.g., a field or a data object representing a field) of one table may look up and/or make use of data from another table…relationship between the table that receives and/or makes use of the data that is looked up, and the relationship with the table that provides the information that was looked up may be referred to as a “lookup relationship…relationship field is required for all detail records…cannot be changed after creating and saving the relationship field. The ownership and sharing of a detail record may be determined by the master data object…when a user deletes the master record, all detail records are deleted… relationship field allows users to click on a lookup icon to select a value from a popup list, and the master object is the source of the values in the list…” teaches database comprises multiple objects… updated objects are overwritten)
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, 10-13, 20-23, 30 and 32 are rejected under 35 U.S.C. 103 as being unpatentable over Hale in view of Pelz (US 2019/0018832 A1).
Regarding claim 1,
Hale teaches A computer implemented method, comprising: maintaining a database comprising one or more objects stored in a computer readable medium of the database; creating one or more schema fragments using an API or a schema editor; updating one or more schema fragments; assigning one or more default values to custom fields wherein each schema fragment should comprise at least one custom field; updating the one or more objects by attaching a schema fragment id by reference, wherein updated objects are overwritten in the database; … and editing the values of the custom fields in the object. *see FIGS.4-9,20, paras61-69(“FIG. 2A…online tool to create a new schema or modify an existing schema…step 202, the user system may select an existing schema to modify or create a new schema…request may be to add an object [schema fragments] and/or field to a schema [object], or to modify an object of a schema [updating…fragments], by for example modifying a field of an object…208, the user system may receive a request to define the aspects of a data object, a field of a data object [assigning… values…custom field] and/or relationship between data objects…FIGS. 2B and 2C …user chooses to add a field to an object…210 b may involve the user selecting a type of field from a menu, and dragging and dropping the field into an object…user receives an updated view of the schema that includes the newly created field. If creating the field creates a relationship, then during step 204 the updated view of the schema may include a graphical representation of the relationship, such as line connecting two objects [updating…attaching…fragment id…]…user chooses to add a data object, then step 210 b may involve performing step 214, where the user requests the creation of a data object [creating… fragments…schema editor]… system field may be a field that each object gets automatically (e.g., created by, last modified by…legend may include one type of line (e.g., a dashed line) followed by the words “master-detail relationship”…solid line) followed by the words “lookup relationship”…vertical line) followed by the words “required field”…”), paras72-74(“FIG. 2D…steps 212 and/or 214 of method 200, while creating or modifying an object or a field…case of adding a field, the location to which the graphical element is dropped indicates the data object to which the user wishes to add the field… adding of an object, the location to which the graphical element is dropped indicates the location to which the user wishes to add the object...user may select an object to that is already created or a field that is already created and make a change that requires the details of the field or data object to be further defined…dialogue box is generated…include a number of fields for defining properties. Some of the fields may be required fields… step 240 the user fills in the fields…FIG. 3…tool to create a new schema or modify an existing schema…301, the server system receives a request…session may be opened in conjunction with the user first using another application or in conjunction with logging into the schema builder…server system receives input from a user… representation of the schema may include graphical representations of data object and of relationships between data objects…320, the server sends the message to the schema builder application…message may initiate a function call for rearranging the special relationship between data objects, creating or editing a data object, adding or editing field to a data object, and creating a new graphical representation of the schema based on the changes…322, the server sends the results of step 320 to the user system with an updated graphical representation reflecting the changes for the schema…”), paras76-85(“ FIG. 4… schema builder…displaying a schema and relationships of data objects within the schema...Schema builder 410…building a schema using graphical representations of data objects within the schema and relationships between the data objects… which may include the data object fields and/or the data type…relationships between the data objects…Data objects 418 are an example of a graphical representation of data objects on the canvas…ID fields 419 are examples of a field that may be included in a data object, such as a data object for a job application…field for identifying the job applicant. Data object menu 420…displays more information about the data object to the user, and provides the user with options for editing the data object [editing…custom fields…object]… Field type 424 describes the type of data associated with a field…454 may be a pull down menu with a selection of the type of data objects, such as all data objects, selected data objects, standard data objects, custom data objects, and system data objects…Schema elements 456, when selected, allows the user to drag and drop schema elements, such as data object and relationships into the schema. Objects 458, when selected, allows the user to choose the data objects that are viewable on the canvas”), paras88-91(“FIG. 5…schema builder with add objects 500, displaying a schema and relationships of add objects within the schema…tab for objects 458 is not selected, and the tab for schema elements 456 is selected…user cannot choose the objects to view, but can add or modify elements of the schema [updating… objects]. Schema builder with add objects 500…user selected a custom object to add to the schema [creating…fragments]. Custom object 501 is the schema element that the user chose to add to the schema [updating…objects…attaching …fragment id]. Schema builder with add objects 500 shows the custom object named being selected. Custom fields 502, lists types of fields that the user may choose to add to a data object [updating…fragments]…user may be offered a choice of whether to add a field that includes an automatically chosen number [assigning default values…fragment…custom field], a value determined by a formula, a value of a lookup relationship [editing…custom fields]…FIG. 6… schema element is being dragged and dropped…Drag and drop object 602 is object the selected custom object 501 being dragged and dropped into canvas 415 to add a custom data object to the schema...”), paras47-51(“FIG. 1…server system 101, application platform 102, schema builder 104, add objects 106, modify objects 108, add fields 110, modify fields 112, delete fields 114, delete objects 116, drag and drop 118, define objects 120, view objects 122, define object relationships…multi-tenant database 136…Server system 101 may include multi-tenant database for storing the tenant data, a database, and an application platform…user can use schema builder tool 104 to view and modify an existing schema…Database objects may be elements of data within a database system, or pieces of information that correspond, in some manner, to data in the database system…104 may organize the data objects based on the relationship of the data objects with other data objects. Schema builder 104 may be a tool to describe and visualize the data objects, the fields of the data objects, and/or the relationships between the data objects [teaches database comprises multiple objects…updated objects are overwritten]…Lookup relationships may be visually represented by lines connecting the related objects…database element (e.g., a field or a data object representing a field) of one table may look up and/or make use of data from another table. The relationship between the table that receives and/or makes use of the data that is looked up, and the relationship with the table that provides the information that was looked up may be referred to as a “lookup relationship…relationship field is required for all detail records…cannot be changed after creating and saving the relationship field. The ownership and sharing of a detail record may be determined by the master data object…when a user deletes the master record, all detail records are deleted [updated objects overwritten]… relationship field allows users to click on a lookup icon to select a value from a popup list, and the master object is the source of the values in the list…” teaches attaching…fragment id by reference)
Hale teaches that required fields must be included in objects (para83), but does not expressly teach ‘…including all the custom fields of the schema fragment by default in the object;’
Pelz teaches …including all the custom fields of the schema fragment by default in the object; *see paras31-37(“…an organization has defined a custom field for “Priority”. This field is of enum type (described below and sometimes referred to as “option” type) and can have user-defined values of Low, Medium, or High. This is the custom field metadata, and it is visible within, and shared across, the entire organization. A project can then be created in the organization, called “Bugs”, and the “Priority” custom field can be associated with that project. This will allow all tasks within the “Bugs” project to have an associated “Priority”. When a new task is created within “Bugs”, the new task will have a field named “Priority” which can take on the custom field value of one of, Low, Medium, or High...object definition is an association of attributes that describe the characteristics of an object that stores specific pieces of data. The kind of data that the object stores determines which attributes are needed to define the object. Defining objects and attributes this way gives the schema the ability to efficiently define many different types of objects. Object definitions are categorized into groups that are called classes. Classes act as blueprints that can be used each time a new object is created. When a new object is created, the object's class determines the attributes that are associated with the new object, including which attributes are required and which attributes are optional… “ProjectSetting”: The join between a Proto and a Project that bestows that Proto upon all of its tasks. There may also be settings specific to the Project, such as whether the custom field should appear in the task list by default [including… custom fields…schema fragment by default], and metadata to determine the ordering of the field in the Project”), paras20-21(“…data model for managing custom fields in a project management tool whereby custom fields can be defined and shared across an organization, and are always unique. If one employee creates a field for ‘Priority’, anyone else in the organization can use that field on their projects. There can't be more than one ‘Priority’ field within the organization and the attributes of the field will be preserved across projects...Custom fields can be aggregated with multiple projects…if a task is in three projects, and each has custom fields, then the task has all those custom fields with consistent ordering…”)
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Hale to incorporate the teachings of Pelz and enable Hale to include custom fields of schema fragment by default in object, as doing so would enable unique custom fields to be defined and shared across an organization (Pelz, paras20-21, 31-32).
Regarding claim 2,
Hale as modified by Pelz teaches all the claimed limitations as set forth in the rejection of claim 1 above.
Hale and Pelz further teach The computer implemented method of claim 1, wherein updating the schema fragment further comprising: deleting the custom fields that do not exist in the respective schema fragment; including new custom fields with default values; and updating the schema fragment id in the object. *see Hale:paras53-54(“Modify objects 108 may be a function used for changing characteristics of a data object…108 may be used to change the fields of a data object…108 may contain add fields 110, which may be used for adding new and/or additional fields to a data object [new custom fields]… may also contain modify fields 112, which may be used for modifying the contents and/or properties of fields associated with a data objects or modifying the name of fields of a data object…108 may also contain delete fields 114, which may be used for removing fields from a data object [deleting…custom fields]. Delete objects 116 may be a feature used for removing data objects from a database...”), paras89-93(“...Schema builder with add objects 500 shows the custom object named being selected. Custom fields 502, lists types of fields that the user may choose to add to a data object…user may be offered a choice of whether to add a field that includes an automatically chosen number…define aspects 700 may include a value for the label name and description of the data object in order to complete the operation of adding a new data object. Title 701 is the title of the dialogue box/prompt window, which describes the type of schema element that is being defined…” teaches updating… fragment id), paras99-106(“...Edit field box 1200 is a dialogue box for adding a field to a data object. Title 1201 is the title of the dialogue box displaying the type of field being edited and name of the data object to which the field is being added, which is the object into which the field was dropped. Close 1202, when selected, closes the dialogue box. Field label 1204 is an input box for entering the label that will appear in the graphical element representing the data object, identifying the field that was added. Field name 1206 is name of the field in the actual object being created or modified…FIG. 12, edit field 1200 shows that the text “Employee_ID” was entered as the field name. In an embodiment, a default field name may be chosen based on the field type [including …custom fields with default values]...”), paras125-126(“ FIG. 23…define object box 2300…Title 2301 also displays the name of the data object to which the field is being added to. Title 2301 explains that the dialogue box is used for adding a master-detail field to the specified data object. Master object 2302 is a pull down menu with a selection of master objects. Read 2304 is a radio button for granting users read only access to the master record to create, edit, or delete related detail records. Read-write 2306 is a radio button granting users read and write access to the master record to create, edit or delete related detail records …After the master-detail field is created, information from the master data object will be used to fill fields and/or create records in the child data object...”); Pelz:paras65-67(“Data model also creates the possibility of “orphaned values” that should be addressed…assume that there are two custom fields, “Priority” and “Points”, on a project “A”, and three tasks in that project. If those three tasks have data in them for the two custom fields and if a user removes a task from the project, then it no longer inherits those custom fields. But it is desirable to not lose the data already on those tasks. This problem can occur, for example, when a task is moved to another project, when a task is moved to be a subtask of another task, when a custom filed is removed from project that conferred, or when a project that conferred a custom task is deleted…embodiment “orphans” the values…”), paras69-71(“...Another problem that arises when managing tasks across projects is the situation when there are multiple existing tasks with a dropdown field and a user edits the dropdown field to remove one of the dropdown field values … assume there are two existing tasks having the custom field “Primary Sales Team” which is a dropdown field having the possible selected values of “New Business”, “SE”, “Manager”, and “Sales Ops”. If one of the tasks has the value of “New Business” associated with the filed “Customer Type” and a user modifies the custom field “Customer Type” to remove the “New Business” value selection, this should be handled in a way that does not lose data but which indicates the newly changed drop down selections [deleting… custom fields…new fields with default values in 'x'…objects]... dropdown options are attached to objects in the data model….Modifying options causes data on tasks to be continually updated. If a user sets multiple tasks to use option “Red” on dropdown “Color”, and updates the dropdown, then all of those tasks will update accordingly…if a user renames option “Red” to “Rojo”, then the tasks set to “Red” will change to “Rojo”. If a user adds an option color to the option, then all associated tasks will reflect that new color. Reordering options does not “trample” data on existing tasks. For example, there is a dropdown with “Red”, “Green”, “Blue” and a user reorders the options to “Green”, “Red”, “Blue”, existing data on tasks will not change...” teaches including new custom fields…updating fragment ids’)
Regarding claim 3,
Hale as modified by Pelz teaches all the claimed limitations as set forth in the rejection of claim 1 above.
Hale and Pelz further teach The computer implemented method of claim 1, wherein updating one or more schema fragments further comprising:
deleting the custom fields that do not exist in respective 'n' number schema fragments; including new fields with default values in 'x' number of objects; and updating schema fragment ids of 'n' number of schema fragments in the 'x' number of objects. *see Hale:paras53-54(“Modify objects 108 may be a function used for changing characteristics of a data object…108 may be used to change the fields of a data object…108 may contain add fields 110, which may be used for adding new and/or additional fields to a data object [new custom fields]…also contain modify fields 112, which may be used for modifying the contents and/or properties of fields associated with a data objects or modifying the name of fields of a data object…108 may also contain delete fields 114, which may be used for removing fields from a data object [deleting…custom fields]. Delete objects 116 may be a feature used for removing data objects from a database...”), paras89-93(“... Schema builder with add objects 500 shows the custom object named being selected. Custom fields 502, lists types of fields that the user may choose to add to a data object…user may be offered a choice of whether to add a field that includes an automatically chosen number…define aspects 700 may include a value for the label name and description of the data object in order to complete the operation of adding a new data object. Title 701 is the title of the dialogue box/prompt window, which describes the type of schema element that is being defined…” teaches updating… fragment id), paras 99-106(“...Edit field box 1200 is a dialogue box for adding a field to a data object. Title 1201 is the title of the dialogue box displaying the type of field being edited and name of the data object to which the field is being added, which is the object into which the field was dropped. Close 1202, when selected, closes the dialogue box. Field label 1204 is an input box for entering the label that will appear in the graphical element representing the data object, identifying the field that was added. Field name 1206 is name of the field in the actual object being created or modified…FIG. 12, edit field 1200 shows that the text “Employee_ID” was entered as the field name. In an embodiment, a default field name may be chosen based on the field type [including …custom fields with default values]...”), paras125-126(“ FIG. 23…define object box 2300…Title 2301 also displays the name of the data object to which the field is being added to. Title 2301 explains that the dialogue box is used for adding a master-detail field to the specified data object. Master object 2302 is a pull down menu with a selection of master objects. Read 2304 is a radio button for granting users read only access to the master record to create, edit, or delete related detail records. Read-write 2306 is a radio button granting users read and write access to the master record to create, edit or delete related detail records …After the master-detail field is created, information from the master data object will be used to fill fields and/or create records in the child data object...”); Pelz:paras65-67(“Data model also creates the possibility of “orphaned values” that should be addressed… assume that there are two custom fields, “Priority” and “Points”, on a project “A”, and three tasks in that project. If those three tasks have data in them for the two custom fields and if a user removes a task from the project, then it no longer inherits those custom fields. But it is desirable to not lose the data already on those tasks. This problem can occur, for example, when a task is moved to another project, when a task is moved to be a subtask of another task, when a custom filed is removed from project that conferred, or when a project that conferred a custom task is deleted… embodiment “orphans” the values…”), paras69-71(“...Another problem that arises when managing tasks across projects is the situation when there are multiple existing tasks with a dropdown field and a user edits the dropdown field to remove one of the dropdown field values…assume there are two existing tasks having the custom field “Primary Sales Team” which is a dropdown field having the possible selected values of “New Business”, “SE”, “Manager”, and “Sales Ops”. If one of the tasks has the value of “New Business” associated with the filed “Customer Type” and a user modifies the custom field “Customer Type” to remove the “New Business” value selection, this should be handled in a way that does not lose data but which indicates the newly changed drop down selections [deleting… custom fields…'n' number fragments…new fields with default values in 'x'…objects]...dropdown options are attached to objects in the data model… Modifying options causes data on tasks to be continually updated. If a user sets multiple tasks to use option “Red” on dropdown “Color”, and updates the dropdown, then all of those tasks will update accordingly…if a user renames option “Red” to “Rojo”, then the tasks set to “Red” will change to “Rojo”. If a user adds an option color to the option, then all associated tasks will reflect that new color. Reordering options does not “trample” data on existing tasks..there is a dropdown with “Red”, “Green”, “Blue” and a user reorders the options to “Green”, “Red”, “Blue”, existing data on tasks will not change...” teaches including new custom fields…updating fragment ids of 'n' number of fragments in the 'x' number of objects’)
Regarding claim 10,
Hale as modified by Pelz teaches all the claimed limitations as set forth in the rejection of claim 1 above.
Pelz further teaches The computer implemented method of claim 1, wherein the schema fragments are immutable. *see para21(“...if a custom field is in multiple of these projects then it only appears once in the task. Also, the data model makes custom fields resistant to “field trampling”—if a user changes another user's custom field, or a task is removed from projects, then the custom field data still exists on the task in a read-only manner [fragments…immutable]. A user can simply reverse these actions to make the field data editable once more…”), para49(“ ...Disabled fields are not available to choose from when disabled, and are visually hidden in the Asana application, but they remain in the metadata for Custom Field values which were set to the option before the option was disabled”), paras61-62(“… FIG. 7, when information that is contained in a custom field value loses a logical association with its metadata definition, the value becomes disabled…value remains on the Task, and the custom field metadata can still be found and examined. Moving the Task back under a Project with that Custom Field applied to it or applying the custom field metadata to the current Project will return the Custom Field value to an enabled state. In this scenario, the Custom Field will be re-enabled and editable again…Tasks with multiple Projects will retain logically associated to the set of custom field metadata represented by all of their Projects. The API can enforce the same operations on disabled custom field values as on enabled values…Access to custom fields can be controlled based on user or group permissions…When write access is not allowed, all requests that would modify Custom Fields (for example POST to /project/addCustomFieldSettings or writes to the custom_fields property on Tasks) will return and error such as HTTP code 403 (forbidden)”)
Regarding claim 11,
Claim 11 recites substantially the same claim limitations as claim 1, and is rejected for the same reasons.
Regarding claim 12,
Claim 12 recites substantially the same claim limitations as claim 2, and is rejected for the same reasons.
Regarding claim 13,
Claim 13 recites substantially the same claim limitations as claim 3, and is rejected for the same reasons.
Regarding claim 20,
Claim 20 recites substantially the same claim limitations as claim 10, and is rejected for the same reasons.
Regarding claim 21,
Claim 21 recites substantially the same claim limitations as claim 1, and is rejected for the same reasons.
Regarding claim 22,
Claim 22 recites substantially the same claim limitations as claim 2, and is rejected for the same reasons.
Regarding claim 23,
Claim 23 recites substantially the same claim limitations as claim 3, and is rejected for the same reasons.
Regarding claim 30,
Claim 30 recites substantially the same claim limitations as claim 10, and is rejected for the same reasons.
Regarding claim 32,
Claim 32 recites substantially the same claim limitations as claim 10, and is rejected for the same reasons.
Conclusion
The prior art made of record in PTO-892 and not relied upon is considered pertinent to applicant's disclosure.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to ANUGEETHA KUNJITHAPATHAM whose telephone number is (408)918-7510. The examiner can normally be reached M-F 9-5 PT.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Aleksandr Kerzhner can be reached at (571) 270-1760. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of 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.
/A.K./Examiner, Art Unit 2165
/ALEKSANDR KERZHNER/Supervisory Patent Examiner, Art Unit 2165