Response to Amendment
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 .
A request for continued examination under 37 CFR 1.114 was filed in this application after a decision by the Patent Trial and Appeal Board, but before the filing of a Notice of Appeal to the Court of Appeals for the Federal Circuit or the commencement of a civil action.
Applicant’s submission filed on 4/16/26 has been entered.
Claims 1-20 are presented for examination.
Claim Rejections - 35 USC § 103
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claim(s) 1-20 is/are rejected under 35 U.S.C. 103 as being unpatentable over Rice et al (USPN. 2019/0363959).
Regarding claims 1, 19 and 20, Rice teaches or suggests computing medium, method and system comprising (fig. 1 and 32, par. 769, “generally conventional design”):
at least one hardware processor (fig. 2 and 32, par. 771 processor);
at least one memory coupled to the at least one hardware processor (fig. 2 and 32, par. 772); and
one or more computer readable storage media storing computer-executable instructions that, when executed, cause the computing system to perform operations comprising, at runtime in response to a request: (figs. 1 and 32, pars. 769-772, processor executing instruction, note processor executes based on request to execute):
receiving the request, the request being to identify data objects in a cluster, the cluster being associated with an anchor data object and the data objects being members of a first plurality of data objects (fig. 10, pars. 226, Lead record object 1000 includes contact information received through a web inquiry, equated to receiving the request, par. 228, Lead record object corresponds to account record object 1002, opportunity record objects 1004, and contact record objects 1006, equated to data objects in a cluster, grouping of objects. Account record object 1002 ("anchor data object") is stored with one or more opportunity record objects 1004 ("anchor data object and the data objects being members of a first plurality of data objects"). Par. 228;
determining a first data object to serve as the anchor data object, the anchor data object being associated with a semantic context and where other members of the cluster are also associated with the semantic context (figs. 10, pars. 228, 230 and 231, Rice's account record object 1002 corresponds to the recited anchor data object "determining a first data object to serve as the anchor data object". Account record object 1002 is associated with an account "the anchor data object being associated with a semantic context", and the opportunity record objects 1004 and contact record objects 1006 are associated with the account "where other members of the cluster are also associated with the semantic context");
after determining the anchor data object, determining a second data object, different than the first data object, having a first relationship to the anchor data object by evaluating relationships specified in definitions of data objects to identify the second data object as having a first relationship being specified in a definition of the second data object (par. 231, In Rice, one of contact record objects 1006 may be considered a second record object, and it is different from the opportunity record object "determining a second data object, different than the first data object". This contact record object has a relationship to the account record object because it relates to the same account "having a first relationship to the anchor data object, the first relationship being specified in a definition of the second data object". The relationships of the data objects are evaluated because they are determined to have a common relationship with one another. Further see par. 230, wherein contact record objects 1006 or any record objects can be data structures that include associated fields such as “Birthdate” or “Name”, in which case the relationship may be self);
adding the second data object to the cluster (Rice's Figure 10, shows that each contact record object 1006 is added to a collective group also including the account record object 1002 and opportunity record objects 1004);
after determining the second data object, determining a third data object, different than the first data object and the second data object, by further evaluating relationship specified in definitions of data objects to identify the third data object as having a second relationship to the anchor data object or a third relationship to the second data object, the second relationship being the same as or different from the first relationship, the second or third relationship being specified in a definition of the third data object (fig. 10, par. 231, In Rice, a second one of the contact record objects 1006 may be considered a third record object "determining a third data object", and it bears a relationship to account record object 1002 because it pertains to the same account specified in its definition "having a second relationship to the anchor data object or a third relationship to the second data object, the second relationship being the same as or different from the first relationship, the second or third relationship being specified in a definition of the third data object". Also note par. 233, multiple contact record objects 1006, may have a different reporting “to field” and thus a different relationship);
adding the third data object to the cluster (fRice's Figure 10, shows that each contact record object 1006 is added to a collective group also including account record object 1002 and opportunity record objects 1004);
Rice teaches or suggests assigning a name to the cluster wherein the cluster name is usable to access the data objects in the cluster based on information identifying the grouping of data objects, the information being distinct from the relationship specified in the definitions of the data objects (pars. 228, 230-231, account record object 1002 with a plurality of record objects can be created/determined for each customer, equated to assigning a name to the cluster”).
2. The computing system of claim 1, wherein the first plurality of data objects are defined in a plurality of software layers and the anchor data object is located at a highest layer of the plurality of software layers (fig. 10, item 1002, Object).
3. The computing system of claim 2, wherein the anchor data object is an only data object in the cluster from the highest layer of the plurality of software layers (fig. 10, item 1002, Object).
4. The computing system of claim 2, wherein the cluster is a first cluster, and a second cluster comprises a fourth data object that is also a member of the first cluster, where the fourth data object is the second data object, the third data object, or is a data object other than the first data object, the second data object, and the third data object (pars. 228, 230-231, account record object 1002 with a plurality of record objects can be created/determined for each customer, equated to plurality of customers with plurality of data object records).
5. The computing system of claim 1, wherein the second data object is not directly related to the third data object (fig. 10, items 1004 and 1006, Objects are not directly related as they comprise different field values).
6. The computing system of claim 1, wherein the second data object has the relationship with the third data object and the third data object is analyzed for inclusion in the cluster based at least in part on the relationship (par. 233, linking contact record 1006 or one of a plurality of objects to an existing account record object 1002 based on information such as parent account and thus related).
7. The computing system of claim 1, wherein the cluster is associated with a cluster identifier, the cluster identifier comprising the name and a use case, the operations further comprising: adding the identifier to the anchor data object, adding the identifier to the second data object, and adding the identifier to the third data object (par. 230, identifier field such as ID).
8. The computing system of claim 1, wherein the cluster is associated with a cluster identifier and a cluster definition is stored outside of any data object in the cluster, the cluster definition comprising an identifier of the cluster and identifiers of data objects in the cluster (fig. 4, Node Graph system, Database, storage may be internal or external as typical storage structures).
9. The computing system of claim 1, wherein the anchor data object, the second data object, and the third data object are associated with respective timestamps, the operations further comprising: identifying a most recent timestamp associated with data objects in the cluster and assigning the most recent timestamp to the cluster (par. 287, historical linkage patterns take timestamps into account).
10. The computing system of claim 1, the operations further comprising: analyzing a second plurality of data objects of the first plurality of data objects for membership in the cluster, wherein the second plurality of data objects comprises all or a portion of the first plurality of data objects, the analyzing comprising determining whether a given data object of the second plurality of data objects is associated with a specified use case, and not adding the given data object to the cluster if the given data object is not associated with the specified use case (fig. 9, item 330, par. 235, restricting rules to refine, discard from candidate objects).
11. The computing system of claim 1, wherein the second relationship comprises an association between the second data object and the third data object or a selection of data from a third data artifact to be included in the second data object (fig. 10, pars. 95 and 228, common fields).
12. The computing system of claim 1, wherein data objects of the first plurality of data objects comprises one or more of logical data objects, views or other data objects in a virtual data model, or database tables or database views (figs. 6A and B).
13. The computing system of claim 1, the operations further comprising: receiving user input defining the anchor data object or receiving user input specifying a data object of the first plurality of data objects to be added to the cluster ((fig. 10, pars. 226, Lead record object 1000 includes contact information received through a web inquiry, equated to receiving the input).
14. The computing system of claim 1, the operations further comprising: defining a deployment operation based at least in part on the cluster (par. 100, timestamp when the data point was generated or last updated, note that the data item points to the data source).
15. The computing system of claim 11, the operations further comprising: defining a replication operation based at least in part on the cluster (figs. 3 and 9, par. 64, synchronization policy can be added to groups).
16. The computing system of claim 1, the operations further comprising: defining an API to provide access to a plurality of data objects of the first plurality of data objects based at least in part on the cluster (par. 510 API for accessing objects).
17. The computing system of claim 1, wherein the anchor data object comprises an identifier identifying the anchor data object as the anchor data object for the cluster (fig. 9, Policy Engine 320, see pars. 110 and 121, policy definitions used to identify activities and Objects).
18. The computing system of claim 1, wherein a definition of the cluster comprises an identifier identifying the anchor data object for the cluster (fig. 10, pars. 228, 230-231, account record object 1002 with a plurality of record objects comprises a common field name which is equated to said definition and an id of a data object).
Response to Arguments
Applicant argues the amended claims filed on 4/16/26 are allowable over the cited reference.
Examiner is not persuaded as the board panel has issued a new grounds of rejection with a detailed description and reasoning. Examiner has adopted the Board’s interpretation and elaborated the record based on the amended claims using similar analogy and concept. Examiner notes that most of the arguments are directed against the Board’s new ground of rejection, which already comprises explanation in the Decision on 11/26/25.
Please see updated office action for more details.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure in the field of organizing/clustering data:
USPN. 2023/0054316: associate objects with cluster: par. 46, figs. 2 and 4
USPN. 2021/0034858: field descriptions and clusters, social network: fig. 4, pars. 29 and 64
USPN. 2015/0269247: relationships within objects and paths, see pars. 144, 159 and 160.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to MARCIN R FILIPCZYK whose telephone number is (571)272-4019. The examiner can normally be reached M-F 7-4 EST.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Kavita Stanley can be reached at 571-272-8352. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
September 16, 2026
/MARCIN R FILIPCZYK/Primary Examiner, Art Unit 2153