DETAILED ACTION
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
This Office Action is in response to amendment filed on 05/19/2026.
Response to Amendment
By this amendment, claims 1-4, 7-10, 12, 14-15, and 17-20 are amended. Therefore, claims 1-20 are pending. Any objections and rejections not repeated below is withdrawn due to Applicant's amendment.
Response to Arguments
Applicant's arguments filed 05/19/2026 have been fully considered but they are not persuasive. Applicant argues in substance:
Instead, paragraph [0062] of Stejic discloses that "[t]he object ID for designating an object extracted in step S4 is used as an argument of selected objects() that is an object linkage request..." Thus, the cited request in Stejic passes an object identifier in connection with an object linkage request, after which linkage attributes of a selected object are copied to a newly generated object. Applicant respectfully submits that the cited portion of Stejic therefore operates using an existing object-linkage relationship and subsequent retrieval/copying of linkage attributes associated with the existing relationship.
In contrast, the amended independent claims recite a call that directly comprises values associated with an instance of the second object type as input parameter values, identification of one or more data sources storing values for attributes of the instance of the second object type based on values directly comprised within the input parameters of the call, and instantiation of a corresponding first instance of the first object type in response to receiving the call and identifying the one or more data sources. The amended claims further recite storing a mapping associating the instance of the second object type with the instantiated first instance of the first object type.
Applicant respectfully submits that neither the cited portions of Stejic nor the cited portions of Kucera teach or suggest establishing the recited mapping/interoperability relationship through the claimed sequence of operations initiated by the call itself. Rather, the cited portions of Kucera relate to predefined parent/child object relationships and associated child-object configuration operations. The cited combination therefore does not teach or suggest the amended independent claims.
With regard to point (a), Examiner respectfully disagrees with Applicant that Stejic does not disclose the input parameters of the call. Stejic discloses [0059] “In step S3, in order to link a newly registered object to an already registered object in the database 270, the type mapping unit 250 searches the database 270 for an object to be entered in the linkage map 270a using a value of content attributes. For this purpose, the type mapping unit 250 issues a search object() request to the object registration unit 230 for causing the object registration unit 230 to search for the object. In that process, in the values of content attributes generated in step S3, the type mapping unit 250 passes, as arguments of the search object( ) request, registered values corresponding to items included in the contents and a value of an object type. The value of the object type is used for narrowing search space using a type of an object that may be linked. The object registration unit 230 searches the database 270 to extract candidates, and causes the object editing unit 260 to extract an object ID of an object to be linked in step S4.”, [0060] The object editing unit 260 performs the extraction by comparing attribute values passed as argument with linkage attribute values of objects managed in the database 270 and by using the degree of agreement of values corresponding to each item…”, [0062] “The object ID for designating an object extracted in step S4 is used as an argument of selected objects() that is an object linkage request, and the selection request is issued to the object registration unit 230. When the object registration unit 230 receives the request, the object registration unit 230 copies linkage attributes of the selected object as linkage attributes of the newly generated object…”. Thus, the attribute values passed as argument for the object search() when generating the object is interpreted as the input parameter values, and those attribute values are compared to linkage attribute values of already instantiated objects in order to determine which already instantiated object(s) should be linked/copied to the new object. Therefore, the claims are rejected for the reasons in this Office Action’s 103 rejection below. Argument has not been found to be persuasive.
Drawings
The drawings are objected to as failing to comply with 37 CFR 1.84(p)(5) because they do not include the following reference sign(s) mentioned in the description: [0084] “…definition 414 of a standard object type…” is not in FIG. 4A. Corrected drawing sheets in compliance with 37 CFR 1.121(d) are required in reply to the Office action to avoid abandonment of the application. Any amended replacement drawing sheet should include all of the figures appearing on the immediate prior version of the sheet, even if only one figure is being amended. Each drawing sheet submitted after the filing date of an application must be labeled in the top margin as either “Replacement Sheet” or “New Sheet” pursuant to 37 CFR 1.121(d). If the changes are not accepted by the examiner, the applicant will be notified and informed of any required corrective action in the next Office action. The objection to the drawings will not be held in abeyance.
Claim Objections
Claims 2, 4, 10-12, and 14 are objected to because of the following informalities:
In Claim 2, “storing the values for the at least a second portion of the second plurality of attributes in attributes of the instance of the first object type” should read “storing the values for the at least the second portion of the second plurality of attributes in attributes of the first instance of the first object type”.
In Claim 4, “storing the values for the at least the second portion of the second plurality of attributes other than in attributes of the instance of the first object type” should read “storing the values for the at least the second portion of the second plurality of attributes other than in attributes of the first instance of the first object type”.
In Claim 10, “determining that the value of the attribute of the second plurality of attributes has changed” should read “determining that a value of the attribute of the second plurality of attributes has changed”.
In Claim 10, “in response to determining that a value of the attribute of the second plurality of attributes has changed” should read “in response to determining that the value of the attribute of the second plurality of attributes has changed”.
In Claim 14, “in a process using values for the at least a portion of the first plurality of attributes” should read “in a process using values for the at least the portion of the first plurality of attributes”.
Any claim not specifically mentioned above, is objected due to its dependency on an objected claim.
Appropriate correction is required.
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-20 are rejected under 35 U.S.C. 103 as being unpatentable over Kucera et al. Pub. No. US 2011/0302222 Al (hereafter Kucera) in view of Stejic et al. Pub. No. US 2009/0234884 Al (hereafter Stejic).
Regarding claim 1, Kucera teaches a computing system comprising: at least one hardware processor; at least one memory coupled to the at least one hardware processor; and one or more computer-readable storage media storing computer-executable instructions that, when executed, cause the computing system to perform operations ([0070] “…A computer program product embodiment includes a machine-readable storage medium (media) having instructions stored thereon/in which can be used to program a computer to perform any of the processes of the embodiments described herein…”) comprising: receiving a call to an application programming interface configured to create an instance of a first object type having a first plurality of attributes ([0047] “…A request to create such child database object may be received from a GUI displaying details associated with the parent database object from which it is to be created.”, [0073] “…A UI 730 provides a user interface and an API 732 provides an application programmer interface to system 616 resident processes to users and/or developers at user systems 612…”, [0056] “…The child database objects also include various common fields. As shown, such fields are used to store a campaign member id (i.e. a unique identifier of the child database object), the campaign id of the associated parent database object, the child database object type of the child database object as stored by the associated parent database object, and a lead id (i.e. a unique identifier of a lead database object associated with the database object). Of course, it should be noted that the child database objects may include any other fields.”, Note: The child database object is interpreted as the instance of the first object type, and the child database object’s fields are interpreted as the first plurality of attributes) … wherein the instance of the second object type comprises an identifier ([0055] “The parent database objects include various common fields. As shown, such fields are used to store a campaign id (i.e. a unique identifier of the parent database object) … a database object type of the parent database object…”, Note: The parent database object is interpreted as the instance of the second object type, and the campaign id is interpreted as the identifier of the instance of the second object type); in response to the receiving the call, and based on values directly comprised within the input parameters of the call, identifying one or more data sources storing the values for the at least the first portion of the second plurality of attributes ([0048] “…If, however, it is determined that a request to create a child database object has been received, a child database object type is identified from the associated parent database object (e.g. from which the child database object has been requested to be created)…”, [0055] “The parent database objects include various common fields. As shown, such fields are used to store a campaign id (i.e. a unique identifier of the parent database object), a campaign name, a database object type of the parent database object, and a child database object type indicating a type of database object according to which any child database object of the parent database object is to be configured. It should be noted that the child database objects may include any other fields.”, Note: The parent database object from which the child database object has been requested to be created is interpreted as the one or more data sources, and the parent database object’s fields are interpreted as the second plurality of attributes); storing identifiers of the one or more data sources in association with an identifier of the second object type ([0032] “…the child database object may be created in a first table of the multi-tenant on-demand database system separate from a second table of the multi-tenant on demand database system storing the parent database object. Thus, any reference to the parent database object stored by the child database object may include a reference to another table of the multitenant on-demand database system.”, [0056] “A second table stores the child database objects of the parent database objects stored in the first table. The child database objects also include various common fields. As shown, such fields are used to store … the campaign id of the associated parent database object, the child database object type of the child database object as stored by the associated parent database object…”, Note: The child database object type is interpreted as the identifier of the one or more data sources, and the campaign id is interpreted as the identifier of the second object type); in response to receiving the call and the identifying the one or more data sources, instantiating a first instance of the first object type, the instantiating comprising assigning an identifier to the first instance of the first object type ([0049] “Furthermore, a child database object of the child database object type is created for the parent database object, as shown in operation 306. Creation of such child database object may include storing the child database object in a table…”, [0056] “A second table stores the child database objects of the parent database objects stored in the first table. The child database objects also include various common fields. As shown, such fields are used to store a campaign member id (i.e. a unique identifier of the child database object)…”, Note: The campaign member id is interpreted as the identifier of the instance of the first object type); and in response to the instantiating the first instance of the first object type, storing a mapping associating the identifier of the instance of the second object type with the identifier of the first instance of the first object type ([0056] “A second table stores the child database objects of the parent database objects stored in the first table. The child database objects also include various common fields. As shown, such fields are used to store a campaign member id (i.e. a unique identifier of the child database object), the campaign id of the associated parent database object, the child database object type of the child database object as stored by the associated parent database object…”, Note: The campaign id is interpreted as the identifier of the instance of the second object type, and the campaign member id is interpreted as the identifier of the instance of the first object type).
Kucera fails to teach the call directly comprising, as input parameter values, values for at least a first portion of a second plurality of attributes of an instance of a second object type, instantiated according to a definition of the second object type, at least a portion of the first plurality of attributes corresponding to attributes of the second plurality of attributes.
In analogous art Stejic teaches the call directly comprising, as input parameter values, values for at least a first portion of a second plurality of attributes of an instance of a second object type, instantiated according to a definition of the second object type, at least a portion of the first plurality of attributes corresponding to attributes of the second plurality of attributes ([0059] “In step S3, in order to link a newly registered object to an already registered object in the database 270, the type mapping unit 250 searches the database 270 for an object to be entered in the linkage map 270a using a value of content attributes. For this purpose, the type mapping unit 250 issues a search object() request to the object registration unit 230 for causing the object registration unit 230 to search for the object. In that process, in the values of content attributes generated in step S3, the type mapping unit 250 passes, as arguments of the search object( ) request, registered values corresponding to items included in the contents and a value of an object type. The value of the object type is used for narrowing search space using a type of an object that may be linked. The object registration unit 230 searches the database 270 to extract candidates, and causes the object editing unit 260 to extract an object ID of an object to be linked in step S4.”, [0060] The object editing unit 260 performs the extraction by comparing attribute values passed as argument with linkage attribute values of objects managed in the database 270 and by using the degree of agreement of values corresponding to each item…”, [0062] “The object ID for designating an object extracted in step S4 is used as an argument of selected objects() that is an object linkage request, and the selection request is issued to the object registration unit 230. When the object registration unit 230 receives the request, the object registration unit 230 copies linkage attributes of the selected object as linkage attributes of the newly generated object…”, Note: The attribute values passed as argument for the object search() when generating the object is interpreted as the input parameter values, the linkage attributes of the newly generated object is interpreted as the first plurality of attributes, and the linkage attributes of the selected object (instance of the second object type) is interpreted as the second plurality of attributes wherein the values of the attributes of the selected object are copied to corresponding attributes of the new object).
It would have been obvious to a person having ordinary skill in the art prior to the effective filing date of the claimed invention to have modified Kucera to incorporate the teachings of Stejic to efficiently link related objects for further processing (Stejic [0014] “That is, an object of the present invention is to provide an object linkage system, an object linkage method and a computer readable recording medium storing a program for efficiently linking related objects such that the related objects can be processed in an information processing apparatus.”).
Regarding claim 2, Kucera and Stejic teach the computing system of claim 1, and Stejic further teaches the operations further comprising: requesting values for at least a second portion of the second plurality of attributes ([0062] “The object ID for designating an object extracted in step S4 is used as an argument of selected objects() that is an object linkage request, and the selection request is issued to the object registration unit 230. When the object registration unit 230 receives the request, the object registration unit 230 copies linkage attributes of the selected object as linkage attributes of the newly generated object…”, Note: The linkage attributes of the selected object is interpreted as the second plurality of attributes wherein the values of the attributes of the selected object are stored in corresponding attributes of the new object (instance of the first object type)); and storing the values for the at least a second portion of the second plurality of attributes in attributes of the instance of the first object type ([0062] “…When the object registration unit 230 receives the request, the object registration unit 230 copies linkage attributes of the selected object as linkage attributes of the newly generated object…”, Note: The linkage attributes of the selected object is interpreted as the second plurality of attributes wherein the values of the attributes of the selected object are stored in corresponding attributes of the new object (instance of the first object type)).
Regarding claim 3, Kucera and Stejic teach the computing system of claim 1, and Stejic further teaches wherein the requesting values is performed using a link between the instance of the second object type and the first instance of the first object type ([0066] “…As shown in FIG. 5, the data structure 500 of the type map 270b includes a field 502 for registering a linkage source object type, a field 504 for registering a linkage destination object type, and a field 506 for registering a mapping ID for designating mapping between them. The linkage source object means an object registered earlier and linkage destination object means an object generated later.”, Note: The linkage source object is interpreted as the instance of the second object type, and the linkage destination object is interpreted as the instance of the first object type).
Regarding claim 4, Kucera and Stejic teach the computing system of claim 1, and Stejic further teaches the operations further comprising: requesting values for at least a second portion of the second plurality of attributes ([0077] “After that, the type mapping unit 250 sends a notification to the object editing unit 230 to copy the linkage attribute values of the edited object to linkage attribute values of the related object in order to update the linkage map 270a in step S16. By this process, the related object that is the edited object is reflected in the linkage map 270a.”, [0078] “The object registration unit 230 issues a request view update( ) instruction to the object editing unit 260 for requesting display update adding, as an argument, the linkage object ID that is assigned to the linked objects in the linkage map 270a in order to cause the object editing unit 260 to perform an update of display screen. Update of the display screen can be performed in various methods. For example, the update can be performed by reading creation systems and objects corresponding to the linkage object ID, once storing display data of the objects into a window buffer, and sending contents of the window buffer to the user terminal at a proper timing in order to cause the user terminal to cache the contents as display data…”, Note: The linkage attributes of the edited object is interpreted as the second plurality of attributes wherein the values previously copied are requested/read during the update display process); and storing the values for the at least the second portion of the second plurality of attributes other than in attributes of the instance of the first object type ([0078] “The object registration unit 230 issues a request view update( ) instruction to the object editing unit 260 for requesting display update adding, as an argument, the linkage object ID that is assigned to the linked objects in the linkage map 270a in order to cause the object editing unit 260 to perform an update of display screen. Update of the display screen can be performed in various methods. For example, the update can be performed by reading creation systems and objects corresponding to the linkage object ID, once storing display data of the objects into a window buffer, and sending contents of the window buffer to the user terminal at a proper timing in order to cause the user terminal to cache the contents as display data…”, Note: The values of the attributes of the edited object are stored in buffers and cache separate from the creation systems which store the objects).
Regarding claim 5, Kucera and Stejic teach the computing system of claim 1, and Kucera further teaches the operations further comprising: storing a mapping associating the first object type with the second object type ([0055] “The parent database objects include various common fields. As shown, such fields are used to store … a database object type of the parent database object, and a child database object type indicating a type of database object according to which any child database object of the parent database object is to be configured…”, Note: The child database object type is interpreted as the first object type, and the parent database object type is interpreted as the second object type).
Regarding claim 6, Kucera and Stejic teach the computing system of claim 1, and Kucera further teaches wherein the call comprises an identifier of a data source storing values for one or more attributes of the second plurality of attributes ([0048] “…If, however, it is determined that a request to create a child database object has been received, a child database object type is identified from the associated parent database object (e.g. from which the child database object has been requested to be created)…”, [0055] “The parent database objects include various common fields. As shown, such fields are used to store a campaign id (i.e. a unique identifier of the parent database object), a campaign name, a database object type of the parent database object, and a child database object type indicating a type of database object according to which any child database object of the parent database object is to be configured. It should be noted that the child database objects may include any other fields.”, Note: The child database object type is interpreted as the identifier of the data source, and the parent database object’s fields are interpreted as the second plurality of attributes).
Regarding claim 7, Kucera and Stejic teach the computing system of claim 1, and Stejic further teaches wherein the call comprises the identifier of the second object type ([0062] “The object ID for designating an object extracted in step S4 is used as an argument of selected objects() that is an object linkage request, and the selection request is issued to the object registration unit 230. When the object registration unit 230 receives the request, the object registration unit 230 copies linkage attributes of the selected object as linkage attributes of the newly generated object…”, Note: The object ID of the selected object is interpreted as the identifier of the second object type).
Regarding claim 8, Kucera and Stejic teach the computing system of claim 1, and Kucera further teaches wherein storing identifiers of the one or more data sources in association with the identifier of the second object type comprises storing at least one relationship between at least two data sources of the one or more data sources ([0032] “…the child database object may be created in a first table of the multi-tenant on-demand database system separate from a second table of the multi-tenant on demand database system storing the parent database object. Thus, any reference to the parent database object stored by the child database object may include a reference to another table of the multitenant on-demand database system.”, [0056] “A second table stores the child database objects of the parent database objects stored in the first table. The child database objects also include various common fields. As shown, such fields are used to store … the campaign id of the associated parent database object, the child database object type of the child database object as stored by the associated parent database object…”, Note: The child database object and the parent database object are interpreted as the data sources which are related by common fields).
Regarding claim 9, Kucera and Stejic teach the computing system of claim 8, and Kucera further teaches wherein the at least one relationship is determined by analyzing a data dictionary or information schema ([0056] “A second table stores the child database objects of the parent database objects stored in the first table. The child database objects also include various common fields. As shown, such fields are used to store … the campaign id of the associated parent database object, the child database object type of the child database object as stored by the associated parent database object…”, Note: The child database object and the parent database object are related by common fields in two tables (information schemas)).
Regarding claim 10, Kucera and Stejic teach the computing system of claim 1, and Stejic further teaches the operations further comprising: determining that the value of an attribute of the second plurality of attributes has changed; and in response to determining that a value of the attribute of the second plurality of attributes has changed, updating a value of an attribute of the first plurality of attributes to provide an updated value ([0077] “After that, the type mapping unit 250 sends a notification to the object editing unit 230 to copy the linkage attribute values of the edited object to linkage attribute values of the related object in order to update the linkage map 270a in step S16. By this process, the related object that is the edited object is reflected in the linkage map 270a.”, Note: The linkage attributes of the related object is interpreted as the first plurality of attributes, and the linkage attributes of the edited object is interpreted as the second plurality of attributes wherein the values of the attributes of the edited object are copied to corresponding attributes of the related object).
Regarding claim 11, Kucera and Stejic teach the computing system of claim 10, and Stejic further teaches the operations further comprising: determining whether the attribute of the second plurality of attributes is used in a computing process involving the first instance of the first object type ([0076] “On the other hand, when it is determined that there is a user terminal that is browsing the object, the object editing unit 260 obtains specific information of the user displaying the object. After that, the object editing unity 260 passes a request of request update() to the object registration unit 230 adding the object ID of the edited object as an argument to request update process…”, Note: The edited object’s attributes are interpreted as the second plurality of attributes, browsing on the user terminal is interpreted as the computing process, and the related object being browsed is interpreted as the first instance of the first object type).
Regarding claim 12, Kucera and Stejic teach the computing system of claim 10, and Stejic further teaches the operations further comprising: in response to determining that the value of the attribute of the second plurality of attributes has changed ([0077] “After that, the type mapping unit 250 sends a notification to the object editing unit 230 to copy the linkage attribute values of the edited object to linkage attribute values of the related object in order to update the linkage map 270a in step S16. By this process, the related object that is the edited object is reflected in the linkage map 270a.”, Note: The linkage attributes of the related object is interpreted as the first plurality of attributes, and the linkage attributes of the edited object is interpreted as the second plurality of attributes wherein the values of the attributes of the edited object are copied to corresponding attributes of the related object), triggering a process comprising one or more calculations performed using the updated value ([0078] “The object registration unit 230 issues a request view update( ) instruction to the object editing unit 260 for requesting display update adding, as an argument, the linkage object ID that is assigned to the linked objects in the linkage map 270a in order to cause the object editing unit 260 to perform an update of display screen. Update of the display screen can be performed in various methods. For example, the update can be performed by reading creation systems and objects corresponding to the linkage object ID, once storing display data of the objects into a window buffer, and sending contents of the window buffer to the user terminal at a proper timing in order to cause the user terminal to cache the contents as display data…”, Note: The display update request is interpreted as the process comprising one or more calculations performed using the updated value wherein the display update request requires memory address and other calculations to perform the display update).
Regarding claim 13, Kucera and Stejic teach the computing system of claim 1, and Kucera further teaches the operations further comprising: persisting data of the instance of the second object type in a serialized format to provide persisted data ([0038] “…The database object type may include a particular type for the parent database object, for example, which may define a format for the parent database object, fields of the parent database object, data stored by the parent database object, etc.”, [0055] “The parent database objects include various common fields. As shown, such fields are used to store a campaign id (i.e. a unique identifier of the parent database object), a campaign name, a database object type of the parent database object, and a child database object type indicating a type of database object according to which any child database object of the parent database object is to be configured. It should be noted that the child database objects may include any other fields.”, Note: The parent database object is interpreted as the instance of the second object type).
Regarding claim 14, Kucera and Stejic teach the computing system of claim 13, and Stejic further teaches the operations further comprising: in a process using values for the at least a portion of the first plurality of attributes, retrieving values for one or more attributes of the second plurality of attributes from the persisted data ([0062] “The object ID for designating an object extracted in step S4 is used as an argument of selected objects() that is an object linkage request, and the selection request is issued to the object registration unit 230. When the object registration unit 230 receives the request, the object registration unit 230 copies linkage attributes of the selected object as linkage attributes of the newly generated object…”, Note: The linkage attributes of the newly generated object is interpreted as the first plurality of attributes, and the linkage attributes of the selected object is interpreted as the second plurality of attributes wherein the values of the attributes of the selected object are copied to corresponding attributes of the new object).
Regarding claim 15, Kucera and Stejic teach the computing system of claim 1, Kucera further teaches wherein the call is a first call, the operations further comprising: receiving a second call to the application programming interface ([0047] “…A request to create such child database object may be received from a GUI displaying details associated with the parent database object from which it is to be created.”, [0073] “…A UI 730 provides a user interface and an API 732 provides an application programmer interface to system 616 resident processes to users and/or developers at user systems 612…”) … wherein the instance of the third object type comprises an identifier ([0055] “The parent database objects include various common fields. As shown, such fields are used to store a campaign id (i.e. a unique identifier of the parent database object) … a database object type of the parent database object…”, Note: The parent database object is interpreted as the instance of the third object type, and the campaign id is interpreted as the identifier of the instance of the third object type); in response to the receiving the second call, and based on values directly comprised within the input parameters of the second call, identifying one or more data sources comprising the values for the at least the first portion of the third plurality of attributes ([0048] “…If, however, it is determined that a request to create a child database object has been received, a child database object type is identified from the associated parent database object (e.g. from which the child database object has been requested to be created)…”, [0055] “The parent database objects include various common fields. As shown, such fields are used to store a campaign id (i.e. a unique identifier of the parent database object), a campaign name, a database object type of the parent database object, and a child database object type indicating a type of database object according to which any child database object of the parent database object is to be configured. It should be noted that the child database objects may include any other fields.”, Note: The parent database object from which the child database object has been requested to be created is interpreted as the one or more data sources, and the parent database object’s fields are interpreted as the third plurality of attributes); storing identifiers of the one or more data sources storing the values for the at least the first portion of the third plurality of attributes in association with an identifier of the third object type ([0032] “…the child database object may be created in a first table of the multi-tenant on-demand database system separate from a second table of the multi-tenant on demand database system storing the parent database object. Thus, any reference to the parent database object stored by the child database object may include a reference to another table of the multitenant on-demand database system.”, [0056] “A second table stores the child database objects of the parent database objects stored in the first table. The child database objects also include various common fields. As shown, such fields are used to store … the campaign id of the associated parent database object, the child database object type of the child database object as stored by the associated parent database object…”, Note: The child database object type is interpreted as the identifier of the one or more data sources, and the campaign id is interpreted as the identifier of the third object type); in response to receiving the second call and identifying a plurality of data sources comprising values for the at least the first portion of the third plurality of attributes, instantiating a second instance of the first object type, the instantiating comprising assigning an identifier to the second instance of the first object type ([0049] “Furthermore, a child database object of the child database object type is created for the parent database object, as shown in operation 306. Creation of such child database object may include storing the child database object in a table…”, [0056] “A second table stores the child database objects of the parent database objects stored in the first table. The child database objects also include various common fields. As shown, such fields are used to store a campaign member id (i.e. a unique identifier of the child database object)…”, Note: The campaign member id is interpreted as the identifier of the instance of the first object type); and storing a mapping associating the identifier of the instance of the third object type with the identifier of the second instance of the first object type ([0056] “A second table stores the child database objects of the parent database objects stored in the first table. The child database objects also include various common fields. As shown, such fields are used to store a campaign member id (i.e. a unique identifier of the child database object), the campaign id of the associated parent database object, the child database object type of the child database object as stored by the associated parent database object…”, Note: The campaign id is interpreted as the identifier of the instance of the third object type, and the campaign member id is interpreted as the identifier of the instance of the first object type), and Stejic further teaches the second call directly comprising, as input parameter values, values for at least a first portion of a third plurality of attributes of an instance of a third object type, the third object type being different from the second object type and the first object type, instantiated according to a definition of the third object type, at least a portion of the first plurality of attributes corresponding to attributes of the third plurality of attributes ([0059] “In step S3, in order to link a newly registered object to an already registered object in the database 270, the type mapping unit 250 searches the database 270 for an object to be entered in the linkage map 270a using a value of content attributes. For this purpose, the type mapping unit 250 issues a search object() request to the object registration unit 230 for causing the object registration unit 230 to search for the object. In that process, in the values of content attributes generated in step S3, the type mapping unit 250 passes, as arguments of the search object( ) request, registered values corresponding to items included in the contents and a value of an object type. The value of the object type is used for narrowing search space using a type of an object that may be linked. The object registration unit 230 searches the database 270 to extract candidates, and causes the object editing unit 260 to extract an object ID of an object to be linked in step S4.”, [0060] The object editing unit 260 performs the extraction by comparing attribute values passed as argument with linkage attribute values of objects managed in the database 270 and by using the degree of agreement of values corresponding to each item…”, [0062] “The object ID for designating an object extracted in step S4 is used as an argument of selected objects() that is an object linkage request, and the selection request is issued to the object registration unit 230. When the object registration unit 230 receives the request, the object registration unit 230 copies linkage attributes of the selected object as linkage attributes of the newly generated object…”, Note: The attribute values passed as argument for the object search() when generating the object is interpreted as the input parameter values, the linkage attributes of the newly generated object is interpreted as the first plurality of attributes, and the linkage attributes of the selected object (instance of the third object type) is interpreted as the third plurality of attributes wherein the values of the attributes of the selected object are copied to corresponding attributes of the new object).
Regarding claim 16, Kucera and Stejic teach the computing system of claim 15, and Kucera further teaches the operations further comprising: storing a mapping associating the first object type with the third object type ([0055] “The parent database objects include various common fields. As shown, such fields are used to store … a database object type of the parent database object, and a child database object type indicating a type of database object according to which any child database object of the parent database object is to be configured…”, Note: The child database object type is interpreted as the first object type, and the parent database object type is interpreted as the third object type).
Regarding claim 17, Kucera and Stejic teach the computing system of claim 1, and Kucera further teaches the operations further comprising: determining that at least one data source of the one or more data sources has changed; and in response to determining that the at least one data source of the one or more data sources has changed, updating the identifiers of the one or more data sources, or an indication of a relationship between two or more data sources of the one or more data sources, to reflect that the at least one data source of the one or more data sources has changed ([0059] “…the child database object type configured for the parent database object may be modified (e.g. updated to another child database object type) using the GUI 510. Any modification may be applied to all child database objects associated to that parent database object…”, Note: The child database object type is interpreted as the identifier of the one or more data sources).
Regarding claim 18, Kucera further teaches a method, implemented in a computing system comprising at least one hardware processor and at least one memory coupled to the at least one hardware processor, the method comprising ([0070] “…A computer program product embodiment includes a machine-readable storage medium (media) having instructions stored thereon/in which can be used to program a computer to perform any of the processes of the embodiments described herein…”). The other limitations are substantially the same as those of claim 1. Accordingly, it is rejected for substantially the same reasons.
Regarding claim 19, it is process claim whose limitations are substantially the same as those of claim 15. Accordingly, it is rejected for substantially the same reasons.
Regarding claim 20, Kucera further teaches one or more non-transitory computer-readable storage media comprising: first computer-executable instructions that, when executed by a computing system comprising at least one hardware processor and at least one memory coupled to the at least one hardware processor, cause the computing system to ([0070] “…A computer program product embodiment includes a machine-readable storage medium (media) having instructions stored thereon/in which can be used to program a computer to perform any of the processes of the embodiments described herein…”, [0082] “…A computer program product, comprising a non-transitory computer usable medium having a computer readable program code embodied therein, the computer readable program code adapted to be executed to implement a method for creating a child database object using a child database object type identified from a parent database object…”). The other limitations are substantially the same as those of claim 1. Accordingly, it is rejected for substantially the same reasons.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. In particular, US 5369778 A is cited because it discloses linking data between objects.
THIS ACTION IS MADE FINAL. Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
Examiner respectfully requests, in response to this Office action, support be
shown for language added to any original claims on amendment and any new claims.
That is, indicate support for newly added claim language by specifically pointing to
page(s) and line number(s) in the specification and/or drawing figure(s). This will assist
Examiner in prosecuting the application.
When responding to this Office Action, Applicant is advised to clearly point out the patentable novelty which he or she thinks the claims present, in view of the state of the art disclosed by the references cited or the objections made. He or she must also show how the amendments avoid such references or objections. See 37 CFR 1.111 (c).
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.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to JUSTIN CHE-CHUN TONG whose telephone number is (703)756-1737. The examiner can normally be reached Monday-Thursday: 7:30 AM to 5:00 PM EST.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, April Y Blair can be reached on (571)270-1014. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/J.C.T./Examiner, Art Unit 2196
/APRIL Y BLAIR/Supervisory Patent Examiner, Art Unit 2196