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 .
DETAILED ACTION
This final office action is prepared in response to amendments and arguments filed by Applicant on January 6, 2026 as a reply to the non-final office action mailed on October 6, 2025.
Claims 2-20 have been added.
Claims 1-20 are pending.
Claims 1-20 are rejected.
Response to Arguments
The claim amendments and Applicant’s arguments filed on January 6, 2026 have been carefully considered but deemed unpersuasive in view of the new grounds of rejection as set forth below, necessitated by Applicant’s substantial amendments to the claims which significantly affected the scope thereof, and will require further search and consideration.
Accordingly, THIS ACTION IS MADE FINAL. See MPEP 706.07(a). Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
Double Patenting
The nonstatutory double patenting rejection is based on a judicially created doctrine grounded in public policy (a policy reflected in the statute) so as to prevent the unjustified or improper timewise extension of the “right to exclude” granted by a patent and to prevent possible harassment by multiple assignees. A nonstatutory double patenting rejection is appropriate where the conflicting claims are not identical, but at least one examined application claim is not patentably distinct from the reference claim(s) because the examined application claim is either anticipated by, or would have been obvious over, the reference claim(s). See, e.g., In re Berg, 140 F.3d 1428, 46 USPQ2d 1226 (Fed. Cir. 1998); In re Goodman, 11 F.3d 1046, 29 USPQ2d 2010 (Fed. Cir. 1993); In re Longi, 759 F.2d 887, 225 USPQ 645 (Fed. Cir. 1985); In re Van Ornum, 686 F.2d 937, 214 USPQ 761 (CCPA 1982); In re Vogel, 422 F.2d 438, 164 USPQ 619 (CCPA 1970); In re Thorington, 418 F.2d 528, 163 USPQ 644 (CCPA 1969).
A timely filed terminal disclaimer in compliance with 37 CFR 1.321(c) or 1.321(d) may be used to overcome an actual or provisional rejection based on nonstatutory double patenting provided the reference application or patent either is shown to be commonly owned with the examined application, or claims an invention made as a result of activities undertaken within the scope of a joint research agreement. See MPEP § 717.02 for applications subject to examination under the first inventor to file provisions of the AIA as explained in MPEP § 2159. See MPEP § 2146 et seq. for applications not subject to examination under the first inventor to file provisions of the AIA . A terminal disclaimer must be signed in compliance with 37 CFR 1.321(b).
The filing of a terminal disclaimer by itself is not a complete reply to a nonstatutory double patenting (NSDP) rejection. A complete reply requires that the terminal disclaimer be accompanied by a reply requesting reconsideration of the prior Office action. Even where the NSDP rejection is provisional the reply must be complete. See MPEP § 804, subsection I.B.1. For a reply to a non-final Office action, see 37 CFR 1.111(a). For a reply to final Office action, see 37 CFR 1.113(c). A request for reconsideration while not provided for in 37 CFR 1.113(c) may be filed after final for consideration. See MPEP §§ 706.07(e) and 714.13.
The USPTO Internet website contains terminal disclaimer forms which may be used. Please visit www.uspto.gov/patent/patents-forms. The actual filing date of the application in which the form is filed determines what form (e.g., PTO/SB/25, PTO/SB/26, PTO/AIA /25, or PTO/AIA /26) should be used. A web-based eTerminal Disclaimer may be filled out completely online using web-screens. An eTerminal Disclaimer that meets all requirements is auto-processed and approved immediately upon submission. For more information about eTerminal Disclaimers, refer to www.uspto.gov/patents/apply/applying-online/eterminal-disclaimer.
Claims 1-3, 5-6, 8-11, 13-15 and 17-19 are rejected on the ground of nonstatutory double patenting as being unpatentable over claims 1, 3 and 6 of U.S. Patent No. 10,824,634. Although the claims at issue are not identical, they are not patentably distinct from each other as shown below.
Application being examined 18/629,920
Patent No. 10,824,634
1. A method comprising:
obtaining and aggregating data from a plurality of different sources comprising smart devices, sensors, enterprise systems, extraprise and/or Internet sources, wherein the data is persisted in a plurality of data stores and comprises structured data,time-series data, unstructured data, and relational data; and
implementing abstraction and continuous processing of the aggregated data using a model driven architecture comprising a type system, thereby simplifying or unifying access or processing of the aggregated data using programmatic interfaces, rules, and/or machine learning algorithms models to make inferences or draw conclusions to inform end users and/or machine-to-machine actions.
2. The method of claim 1,
wherein implementing abstraction and continuous processing of the aggregated data using a model driven architecture comprising a type system further comprise transforming the data from the plurality of different sources to an abstract representation using a plurality of data handlers, each data handler of the plurality of data handlers corresponding to a different source of the plurality of different sources.
3. The method of claim 2, wherein the wherein the abstract representation (i) abstracts underlying details of one or more data stores and one or more data store access methods and (ii) provides an interface across different programming languages.
5. The method of claim 2, further comprising:
providing an application development platform in a user interface, wherein the application development platform comprises virtual building blocks configurable to enable development of the enterprise applications,
wherein the virtual building blocks represent the abstract representations of the plurality of models and the data, and wherein the application development platform comprises a tool for creating versions of the virtual building blocks by defining properties and metadata of underlying data and models, wherein the properties and metadata comprise at least a data type of the underlying data and input and output parameters of the underlying models.
6. The method of claim 5, wherein the virtual building blocks are configurable to be manipulated within the user interface to enable development of the enterprise applications.
8. The method of claim 1, wherein the model-driven architecture comprises three or more logical layers, wherein the three or more logical layers comprise an entity layer, an application layer, and a user interface layer.
9. The method of claim 8,
wherein the entity layer comprises definitions for end users of the enterprise applications.
10. The method of claim 8, wherein the application layer comprises definitions for the big data operations, the machine learning models, and the business application logic.
11. The method of claim 8, wherein the user interface layer comprises definitions for how the data and the models are displayed.
1. A method for simplifying or unifying access or processing of aggregated data, comprising:
with aid of an integration component, obtaining and aggregating data from a plurality of different sources comprising smart devices, sensors, enterprise systems, extraprise systems, or Internet sources, wherein the plurality of different sources utilize different underlying technologies or programming languages, wherein the data is persisted in a plurality of data stores and comprises structured data, time-series data, unstructured data, and relational data;
implementing abstraction and continuous processing of the aggregated data using a model driven architecture,
wherein implementing the abstraction of the aggregated data comprises transforming the aggregated data to a standardized format according to a canonical data model using a plurality of configurable transformers corresponding to the plurality of different sources, wherein each configurable transformer of the plurality of configurable transformers is associated with only one corresponding source of the plurality of different sources, wherein the transforming comprises correlating the aggregated data across the plurality of different sources, and
wherein the canonical data model comprises standardized data definitions that provide an interface across the different underlying technologies and programming languages and abstract details of the plurality of data stores, to thereby simplify or unify the access or the processing of the aggregated data, wherein the model driven architecture is logically separated into a plurality of layers selected from the group consisting of an entity layer, an application layer, a machine learning inference layer, and a user interface (UI) layer;
merging, by a runtime engine, two or more distinct layers selected from said plurality of layers when the abstracted data is accessed or processed at runtime using programmatic interfaces, rules, or machine learning algorithms to make inferences or draw conclusions to inform end users or machine-to-machine actions; and
providing an application development platform, wherein the application development platform comprises virtual building blocks that are used to write application business logic,
wherein the virtual building blocks define and/or graphically represent application logic functions including the programmatic interfaces, rules, or machine learning algorithms, and wherein the virtual building blocks allow for drag and drop development to write the application business logic.
3. The method of claim 1, wherein the model driven architecture provides: (1) abstract representations of knowledge and activities governing different application domains; (2) an abstraction layer that is available and common to the end users comprising of programmers, data scientists, or business analysts; and (3) enables models to be aggregated and published subject to access controls.
6. The method of claim 1,
wherein (1) the entity layer includes definitions for base data models associated with devices, entities, or customers,
(2) the application layer includes definitions for application logic functions,
(3) the machine learning inference layer includes one or more machine learning algorithms, and
(4) the UI layer defines default view definitions for how specific models of data, models, or results of application logic functions are displayed.
Claims 1-3 and 13-15 are rejected on the ground of nonstatutory double patenting as being unpatentable over claim 6 of U.S. Patent No. 10,817,530. Although the claims at issue are not identical, they are not patentably distinct from each other as shown below.
Application being examined 18/629,920
Patent No. 10,817,530
1. A method comprising:
obtaining and aggregating data from a plurality of different sources comprising smart devices, sensors, enterprise systems, extraprise and/or Internet sources, wherein the data is persisted in a plurality of data stores and comprises structured data, time-series data, unstructured data, and relational data; and
implementing abstraction and continuous processing of the aggregated data using a model driven architecture comprising a type system, thereby simplifying or unifying access or processing of the aggregated data using programmatic interfaces, rules, and/or machine learning algorithms models to make inferences or draw conclusions to inform end users and/or machine-to-machine actions.
2. The method of claim 1,
wherein implementing abstraction and continuous processing of the aggregated data using a model driven architecture comprising a type system further comprise transforming the data from the plurality of different sources to an abstract representation using a plurality of data handlers, each data handler of the plurality of data handlers corresponding to a different source of the plurality of different sources.
3. The method of claim 2, wherein the abstract representation (i) abstracts underlying details of one or more data stores and one or more data store access methods and (ii) provides an interface across different programming languages.
6. A method comprising:
storing time-series data in a key-value store and non-time-series data in a relational database;
implementing, on an application development platform, abstraction over a plurality of data stores comprising the key-value store and the relational database, wherein the abstraction comprises a metadata-based mapping framework over a plurality of data formats associated with the plurality of data stores by:
transforming the plurality of data formats to a standardized data format that conforms to a canonical data model comprising standardized data definitions, wherein the transforming is performed with a plurality of configurable transformers, wherein each configurable transformer is associated with exactly one of said plurality of storage formats, wherein a configurable transformer associated with a selected data format comprises at least a transformation rule for transforming between the selected data format and the standardized data format, without requiring direct conversion between the plurality of data formats;
in response to a request for data having said selected data format on said application development platform, using said configurable transformer to transform said requested data to said standardized data format that conforms to said canonical data model; and providing application logic, including functions, data processing, and machine learning, for one or more applications that access or process said requested data that was transformed to said selected defined type, wherein said one or more applications comprise at least two applications that have incompatible programmatic interfaces, and wherein said standardized format is agnostic to said at least two applications, thereby enabling said at least two applications to communicate directly with each other.
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)(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.
Claims 1-20 is rejected under 35 U.S.C. 102(a)(2) as being unpatentable over Kinsely et al. (U.S. 2015/0039651).
Regarding claim 1, Kinsely disclosed a method comprising:
obtaining and aggregating data from a plurality of different sources comprising smart devices, sensors, enterprise systems, enterprise and/or Internet sources (Kinsely, [0058], “the system 100 includes one or more forwarders 101 that collect data received or retrieved from a variety of different data sources 105, and one or more indexers 102 that store, process, and/or perform operations with respect to the data”),
wherein the data is persisted in a plurality of data stores and comprises structured data, time-series data, unstructured data, and relational data (Kinsely, [0058], “The data typically includes streams of time-series data. In this context, time-series data refers to any data that can be segmented such that each segment can be associated with a time stamp. The data can be structured, unstructured, or semi-structured, and can come from files and directories.” Kinsely, [0047], “at a high level, SPLUNK.RTM. ENTERPRISE can take raw data, unstructured data, or machine data such as data in Web logs, syslogs, sensor readings, etc”); and
implementing abstraction and continuous processing of the aggregated data using a model driven architecture comprising a type system (Kinsely, [0037-0043], “a data server system utilizes field extraction templates to assist users in obtaining access to data in a data repository” and Kinsely, Fig. 13 and [0125-0143] disclosed generating and applying field extraction rules to extract …), thereby simplifying or unifying access or processing of the aggregated data using programmatic interfaces, rules, and/or machine learning models (Kinsely, [0087], “a field extraction rule 1024 may further include one or more instructions for deriving a value for the field from the located chunk based on applying a function, formula, or other specified operation to the located chunk” and Kinsely, [0109], “various pattern recognition or machine learning algorithms may be implemented that guess a delimiter 1247 based on the locations of certain common types of values (e.g. timestamps, IP addresses, and so forth) within the data items.” Note that “algorithms” and “models” are often used interchangeably in the machine learning literatures) to make inferences or draw conclusions to inform end users and/or machine-to-machine actions (Kinsley, [0051], “…enable dynamic investigation of issues that arise as a data analyst learns more about the data stored in the system's events”).
Claim 13 lists elements that are found in claim 1, in the same method form. Therefore, the rejection rationale for claim 1 applies equally as well to the corresponding elements in claim 13.
Regarding claims 2 and 14, Kinsley disclosed the method of claims 1 and 13.
Kinsley further disclosed wherein implementing abstraction and continuous processing of the aggregated data using a model driven architecture comprising a type system further comprise transforming the data from the plurality of different sources to an abstract representation using a plurality of data handlers, each data handler of the plurality of data handlers corresponding to a different source of the plurality of different sources (Kinsley disclosed in Figs. 2, 10, 11, [0037] and [0041] that “A field extraction template simplifies the creation of field extraction rules by providing a user with a set of field names commonly assigned to a certain type of data, as well as guidance on how to extract values for those fields.” And “the field names in a template may further be associated with one or more transformation instructions. Based on the transformation instruction(s), the extracted chunk is converted into the value that should be derived for the corresponding field” said filed extraction template anticipates a data handler andforms a type system disclosed in Figs. 2, 3 and 10-11.).
Regarding claims 3 and 15, Kinsley disclosed the method of claims 2 and 14.
Kinsley further disclosed wherein the abstract representation (i) abstracts underlying details of one or more data stores and one or more data store access methods and (ii) provides an interface across different programming languages (Kinsley Fig. 10 and [0085] disclosed that “data server 1010 is configured to utilize a field extractor component 1020 to dynamically derive field values 1071 for those fields, as needed during query execution” and the data before and after extraction is shown as item 1050 and 1071 in Fig. 10).
Regarding claims 4 and 16, Kinsley disclosed the method of claims 2 and 14.
Kinsley further disclosed wherein the abstract representations of the plurality of models and the abstract representations of the data enable the data to be processed and enterprise applications to be developed using one or more of the plurality of models without requiring knowledge of a structure, logic, or interrelationship of the plurality of models or the different data types or data structures (Kinsley, Fig. 11 and [0092-0104]).
Regarding claims 5 and 17, Kinsley disclosed the method of claims 2 and 14.
Kinsley further disclosed providing an application development platform in a user interface, wherein the application development platform comprises virtual building blocks configurable to enable development of the enterprise applications, wherein the virtual building blocks represent the abstract representations of the plurality of models and the data, and wherein the application development platform comprises a tool for creating versions of the virtual building blocks by defining properties and metadata of underlying data and models, wherein the properties and metadata comprise at least a data type of the underlying data and input and output parameters of the underlying models (Kinsley, Fig. 11 and [0092-0104] and [0163]).
Regarding claims 6 and 18, Kinsley disclosed the method of claims 5 and 17.
Kinsley further disclosed wherein the virtual building blocks are configurable to be manipulated within the user interface to enable development of the enterprise applications (Kinsley, Figs. 4A, 4B, 5 and their corresponding descriptions).
Regarding claims 7, Kinsley disclosed the method of claim 1.
Kinsley further disclosed wherein obtaining data from the plurality of different sources comprises communicating with the plurality of different sources using application programming interfaces (APIs) (Kinsley, [0100], “the input is received via a field definition interface 1145. Field definition interface 1145 is a graphical or command line user interface that accepts one or more of inputs 1146-1148, depending on the embodiment. A field definition interface generator 1140 generates the field definition interface 1145”).
Regarding claims 8 and 19, Kinsley disclosed the method of claims 1 and 13.
Kinsley further disclosed wherein the model-driven architecture comprises three or more logical layers, wherein the three or more logical layers comprise an entity layer, an application layer, and a user interface layer (Kinsley, Fig. 5 and [0042], “user interface”; Fig. 10, “data server 1110” + “field extractor 1120”+“data extraction rule generator 1130” and Fig. 10, “database 1150” correspond to the three layers in the claim respectively).
Regarding claim 9, Kinsley disclosed the method of claim 8.
Kinsley further disclosed wherein the entity layer comprises definitions for end users of the enterprise applications (Kinsley, Fig. 5 and [0042]).
Regarding claim 10, Kinsley disclosed the method of claim 8.
Kinsley further disclosed wherein the application layer comprises definitions for the big data operations, the machine learning models, and the business application logic (Kinsley, Fig. 10, Fig. 10, “data server 1110” + “field extractor 1120”+“data extraction rule generator 1130”).
Regarding claim 11, Kinsley disclosed the method of claim 8.
Kinsley further disclosed wherein the user interface layer comprises definitions for how the data and the models are displayed (Kinsley, [0130], “selection of a delimiter may cause the user interface to display a preview of an array of chunks derived by segmenting one or more sample data items based on the delimiter”).
Regarding claims 12 and 20, Kinsley disclosed the method of claims 1 and 13.
Kinsley further disclosed wherein the machine learning models comprise logistic regression models, linear regression models, decision trees, naive Bayes classifiers, clustering models, principal component analysis models, feature extraction and transformation models, and classification models (Kinsley, [0203], “extraction rule” and “transformation rule”).
Related Prior Art
Karpistsenko et al. is directed to systems and methods for collecting, integrating, processing, distributing, and analyzing spatial and/or spatio-temporal information associated with a variety of data sources and/or locations.
Conclusion
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 extension fee 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.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to SHIRLEY X ZHANG whose telephone number is (571)270-5012. The examiner can normally be reached 8:30am - 5:00pm.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Joon H Hwang can be reached at 571-272-4036. 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.
/SHIRLEY X ZHANG/Primary Examiner, Art Unit 2447