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
Status of Claims
This action is in reply to the application filed on October 24, 2023.
This application claims priority to CN202110444943.3, filed on April 24, 2021.
Claims 1-20 are currently pending.
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.
Claim(s) 1-6, 8-16, and 18-20 is/are rejected under 35 U.S.C. 102(a)(1) as being anticipated by Zhao et al., “DeepThings: Distributed Adaptive Deep Learning Inference on Resource-Constrained IoT Clusters” (“Zhao”).
With respect to independent claim 1 Zhao teaches:
A method implemented by an artificial intelligence (AI) application management platform (Zhao teaches DeepThings, a framework for adaptively distributed execution of CNN-based inference applications on tightly resource-constrained IoT edge clusters; see abstract.) and comprising:
converting, by a development system of the AI management system, a trained AI model into at least one adaptation model, wherein each adaptation model in the at least one adaptation model adapts to an inference framework (Zhao teaches fused tile partitioning (FTP) in section IV.A. In FTP, the original CNN is divided into tiled stacks of convolution and pooling operations and fused so that they may be executed with a reduced memory footprint and communication overhead; see section IV.A. The fused partitions are an adaption model.);
generating, by the development system, a model configuration file, wherein the model configuration file comprises configuration information that enables the inference framework based on a corresponding adaptation model in the at least one adaptation model (Zhao teaches FTP in section IV.A, including at least an algorithm (file) on how to generate the partitions.);
generating, by the development system, an AI application, wherein the AI application comprises an AI functional unit and the model configuration file, and wherein the AI functional unit is configured to obtain an inference result based on an adaptation model in the at least one adaptation model (The DeepThings framework, taught by Zhao, is a framework for adaptively distributed execution of CNN-based inference applications on tightly resource-constrained IoT edge clusters; see abstract. Section IV of Zhao teaches the implementation of DeepThings framework and obtaining inference results.); and
deploying, by a deployment management system of the AI management system, the AI application to a first target device, wherein deploying the AI application comprises sending or providing the first target device access to the model configuration file (Zho teaches distributing the FTP partitions among edge node devices in sections IV.B. and IV.C.).
With respect to claim 2, the rejection of claim 1 is incorporated. Further, Zhao teaches:
deploying, by the deployment management system, the AI application to a second target device, wherein the first target device corresponds to a first inference framework and the second target device corresponds to a second inference framework that is different than the first inference framework (Zho teaches distributing the FTP partitions among edge node devices in sections IV.B. and IV.C. In particular, section IV.C. notes that different partitions (different frameworks) are scheduled to different edge devices.).
With respect to claim 3, the rejection of claim 1 is incorporated. Further, Zhao teaches:
before deploying the AI application, the method further comprises:
establishing, by the deployment management system, connections to a plurality of deployment devices (Zhao teaches IoT networks of edge devices; see abstract.); and
selecting, by the deployment management system from the plurality of deployment devices and based on a requirement parameter of the AI application, the first target device that meets the requirement parameter (Zhao teaches distributing convolutional layers among edge node devices in a load balancing manner; see section IV.B.).
With respect to claim 4, the rejection of claim 1 is incorporated. Further, Zhao teaches:
deploying the AI application comprises:
building, by the deployment management system, an incremental image of the AI application (Zhao teaches fused tile partitioning (FTP) in section IV.A. In FTP, the original CNN is divided into tiled stacks of convolution and pooling operations and fused so that they may be executed with a reduced memory footprint and communication overhead; see section IV.A. The partitions are increments of the CNN model.); and
deploying, by the deployment management system, the AI application to the first target device based on the incremental image (Zhao teaches distributing the FTP partitions among edge node devices in sections IV.B. and IV.C.).
With respect to claim 5, the rejection of claim 1 is incorporated. Further, Zhao teaches:
converting the trained AI model comprises:
converting, by the development system, the trained AI model into the at least one adaptation model based on a model template; or
converting, by the development system, the trained AI model into the at least one adaptation model based on at least one conversion script of an AI model developer (Zhao teaches fused tile partitioning (FTP) in section IV.A., including Algorithm 1, which discloses a script to perform the FTP step.).
With respect to claim 6, the rejection of claim 1 is incorporated. Further, Zhao teaches:
orchestrating, by the development system in response to an orchestration operation of an AI application developer, a plurality of functional units comprising the AI functional unit to generate a functional unit group (Zhao teaches fused tile partitioning (FTP) in section IV.A. In FTP, the original CNN is divided into tiled stacks of convolution and pooling operations and fused so that they may be executed with a reduced memory footprint and communication overhead; see section IV.A. The fused partitions each a functional unit.); or
generating, by the development system in response to a code writing operation of an AI application developer, a functional unit group based on written code.
With respect to claim 8, the rejection of claim 1 is incorporated. Further, Zhao teaches:
the model configuration file further comprises a storage path of the at least one adaptation model, and wherein before generating the model configuration file, the method further comprises storing the at least one adaptation model in a storage system (Zhao teaches fused tile partitioning (FTP) in section IV.A. and per device memory footprints in section V.A.).
With respect to claim 9, the rejection of claim 1 is incorporated. Further, Zhao teaches:
the AI functional unit comprises an inference driver, and wherein the method further comprises, configuring, by the deployment management system, the inference driver to drive inference of an adaptation model in the at least one adaptation model (Zhao teaches that, for inference, a DeepThings runtime is instantiated in each IoT device to manage task computation, distribution and data communications in section IV. The inference driver is described as inference code in [0009] of the instant specification, and the instantiation taught by Zhao is code that performs inference.).
With respect to claim 10, the rejection of claim 1 is incorporated. Further, Zhao teaches:
the method further comprises sending, by the deployment management system, a basic library to the target device, wherein the basic library comprises at least one of an inference framework installation package, an operating system file (Zhao teaches edge node service that distributes incoming data frames to various devices and include a service that contains software libraries to perform the task processing and distribution in section IV.B.1. Libraries used to perform processing is considered an operating system file.), a driver file, or a parallel computing library.
With respect to independent claim 11 Zhao teaches:
A computer cluster comprising:
at least one computer comprising:
one or more processors (Zhao teaches implementation details in section V., including implementation on a PRi3 with quad-core 1.2GHz ARM Cortex-A53 processor with 1GB RAM.); and
a memory coupled to the one or more processors and configured to store
instructions (Zhao teaches implementation details in section V., including implementation on a PRi3 with quad-core 1.2GHz ARM Cortex-A53 processor with 1GB RAM.) that, when executed by the one or more processors, cause the at least one
computer to:
convert a trained AI model into at least one adaptation model, wherein each adaptation model in the at least one adaptation model adapts to an inference framework (Zhao teaches fused tile partitioning (FTP) in section IV.A. In FTP, the original CNN is divided into tiled stacks of convolution and pooling operations and fused so that they may be executed with a reduced memory footprint and communication overhead; see section IV.A. The fused partitions are an adaption model.);
generate a model configuration file, wherein the model configuration file comprises configuration information that enables the inference framework based on a corresponding adaptation model in the at least one adaptation model (Zhao teaches FTP in section IV.A, including at least an algorithm (file) on how to generate the partitions.);
generate an AI application, wherein the AI application comprises an AI functional unit and the model configuration file, and wherein the AI functional unit is configured to obtain an inference result based on an adaptation model in the at least one adaptation model (The DeepThings framework, taught by Zhao, is a framework for adaptively distributed execution of CNN-based inference applications on tightly resource-constrained IoT edge clusters; see abstract. Section IV of Zhao teaches the implementation of DeepThings framework and obtaining inference results.); and
deploy the AI application to a target device, wherein deploying the AI application comprises sending or providing the first target device access to the model configuration file (Zho teaches distributing the FTP partitions among edge node devices in sections IV.B. and IV.C.).
With respect to claim 12, the rejection of claim 11 is incorporated. Further, Zhao teaches:
the target device comprises one or more devices corresponding to one or more respective and different inference frameworks (Zho teaches distributing the FTP partitions among edge node devices in sections IV.B. and IV.C. In particular, section IV.C. notes that different partitions (different frameworks) are scheduled to different edge devices.).
With respect to claim 13, the rejection of claim 11 is incorporated. Further, Zhao teaches:
before deploying the AI application, when executed by the one or more processors, the instructions further cause the at least one computer to:
establish connections to a plurality of deployment devices (Zhao teaches IoT networks of edge devices; see abstract.); and
select, from the plurality of deployment devices and based on a requirement parameter of the AI application, the target device that meets the requirement parameter (Zhao teaches distributing convolutional layers among edge node devices in a load balancing manner; see section IV.B.).
With respect to claim 14, the rejection of claim 11 is incorporated. Further, Zhao teaches:
when executed by the one or more processors, the instructions further cause the at least one computer to:
build an incremental image of the Al application (Zhao teaches fused tile partitioning (FTP) in section IV.A. In FTP, the original CNN is divided into tiled stacks of convolution and pooling operations and fused so that they may be executed with a reduced memory footprint and communication overhead; see section IV.A. The partitions are increments of the CNN model.), and
deploy the AI application to the target device based on the incremental image (Zhao teaches distributing the FTP partitions among edge node devices in sections IV.B. and IV.C.).
With respect to claim 15, the rejection of claim 11 is incorporated. Further, Zhao teaches:
when executed by the one or more processors, the instructions further cause the at least one computer to:
convert the trained AI model into the at least one adaptation model based on a model template; or
convert the trained AI model into the at least one adaptation model based on at least one conversion script defined by an AI model developer (Zhao teaches fused tile partitioning (FTP) in section IV.A., including Algorithm 1, which discloses a script to perform the FTP step.).
With respect to claim 16, the rejection of claim 11 is incorporated. Further, Zhao teaches:
when executed by the one or more processors, the instructions further cause the at least one computer to:
orchestrate, in response to an orchestration operation of an AI application developer, a plurality of functional units comprising the Al functional unit to generate a functional unit group (Zhao teaches fused tile partitioning (FTP) in section IV.A. In FTP, the original CNN is divided into tiled stacks of convolution and pooling operations and fused so that they may be executed with a reduced memory footprint and communication overhead; see section IV.A. The fused partitions each a functional unit.); or
generate, in response to a code writing operation of an AI application developer, a functional unit group based on written code.
With respect to claim 18, the rejection of claim 11 is incorporated. Further, Zhao teaches:
the model configuration file further comprises a storage path of the at least one adaptation model, and wherein when executed by the one or more processors, the instructions further cause the at least one computer to store the at least one adaptation model in a storage system (Zhao teaches fused tile partitioning (FTP) in section IV.A. and per device memory footprints in section V.A.).
With respect to claim 19, the rejection of claim 11 is incorporated. Further, Zhao teaches:
the AI functional unit comprises an inference driver configured to drive inference of an adaptation model in the at least one adaptation model (Zhao teaches that, for inference, a DeepThings runtime is instantiated in each IoT device to manage task computation, distribution and data communications in section IV. The inference driver is described as inference code in [0009] of the instant specification, and the instantiation taught by Zhao is code that performs inference.).
With respect to claim 20, the rejection of claim 11 is incorporated. Further, Zhao teaches:
the target device comprises at least one of a terminal device, an edge device (Zho teaches distributing the FTP partitions among edge node devices in sections IV.B. and IV.C. In particular, section IV.C. notes that different partitions (different frameworks) are scheduled to different edge devices.), or a cloud device.
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.
Claim(s) 7 and 17 is/are rejected under 35 U.S.C. 103 as being unpatentable over Zhao et al., “DeepThings: Distributed Adaptive Deep Learning Inference on Resource-Constrained IoT Clusters” (“Zhao”); in view of Yellapragada, et al., U.S. Patent 11,657,305 (“Yellapragada”).
With respect to dependent claim 7, the rejection of claim 1 is incorporated. Further, Zhao does not teach:
generating the AI application comprises:
receiving, by the development system through a user interface, an input format or an output format that is of the AI application and that is from the AI application developer; and
generating, by the development system, the AI application based on the input format or the output format.
However, Yellapragada teaches these limitations:
generating the AI application comprises:
receiving, by the development system through a user interface, an input format or an output format that is of the AI application and that is from the AI application developer (Yellapragada teaches when building and selecting AI/ML models the method for generating models is based, in part, on model inputs and outputs based on user-defined constraints; see 4:56-5:13. Yellapragada further teaches a user interface in the abstract and 6:64-7:2.); and
generating, by the development system, the AI application based on the input format or the output format (Yellapragada teaches when building (generating) and selecting AI/ML models the method for generating models is based, in part, on model inputs and outputs based on user-defined constraints; see 4:56-5:13.).
Zhao and Yellapragada are analogous art directed towards machine learning. Zhao teaches a distributed machine learning system, and Yellapragada teaches machine learning model generation with user inputs.
It would have been obvious for one of ordinary skill in machine learning to incorporate Yellapragada’s teaching of user input into Zhao’s system at the time of filing. It would have been obvious because one of ordinary skill would be motivated to consider statistical and business metrics, as well as constraints guiding automated machine learning machinery while it trains, evaluates, and compares suitable models; see 5:14-25 of Yellapragada.
With respect to claim 17, the rejection of claim 11 is incorporated. Further Yellapragada teaches:
when executed by the one or more processors, the instructions further cause the at least one computer to:
receive an input format or an output format that is of the AI application and that is from the AI application developer (Yellapragada teaches when building and selecting AI/ML models the method for generating models is based, in part, on model inputs and outputs based on user-defined constraints; see 4:56-5:13. Yellapragada further teaches a user interface in the abstract and 6:64-7:2.); and
generate the AI application based on the input format or the output format (Yellapragada teaches when building (generating) and selecting AI/ML models the method for generating models is based, in part, on model inputs and outputs based on user-defined constraints; see 4:56-5:13.).
See the rejection of claim 7 for the motivation to combine references.
Prior Art of Record
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
Lai et al., “Rethinking Machine Learning Development and Deployment for Edge Devices” – teaches implementing machine learning models on a variety of edge devices.
Settle et al., “Quantizing Convolutional Neural Networks for Low-Power High-Throughput Inference Engines” – teaches a scalable deep learning system for implementation on an array of devices.
Sudharsan et al., “Edge2Train: A Framework to Train Machine Learning Models (SVMs) on Resource-Constrained IoT Edge Devices” – teaches distributed training of machine learning models on edge devices.
Conclusion
Claims 1-20 are rejected.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to DANIEL T PELLETT whose telephone number is (571)270-7156. The examiner can normally be reached on Monday - Friday 9-5 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, Li Zhen can be reached on 571-272-3768. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of an application may be obtained from the Patent Application Information Retrieval (PAIR) system. Status information for published applications may be obtained from either Private PAIR or Public PAIR. Status information for unpublished applications is available through Private PAIR only. For more information about the PAIR system, see http://pair-direct.uspto.gov. Should you have questions on access to the Private PAIR system, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative or access to the automated information system, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/DANIEL T PELLETT/Primary Examiner, Art Unit 2121