DETAILED ACTION
1. The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
2. This communication is in response to the Applicant’s submission filed 21 May 2024, where:
Claims 1-20 are pending.
Claims 1-20 are rejected.
Information Disclosure Statement
3. Information disclosure statements were submitted on 21 May 2025 and 24 February 2025. The submissions comply with the provisions of 37 CFR 1.97. Accordingly, the Examiner considered the information disclosure statements.
Drawings
4. The drawings are objected to as failing to comply with 37 CFR 1.84(p)(5) because they include the following reference character(s) not mentioned in the description:
Figure 2, reference “200”,
Figure 2, reference “205”,
Figure 2, reference “210”,
Figure 2, reference “215”,
Figure 3, reference “316”, and
Figure 5, reference “500”.
Corrected drawing sheets in compliance with 37 CFR 1.121(d), or amendment to the specification to add the reference character(s) in the description in compliance with 37 CFR 1.121(b) 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 Rejections - 35 U.S.C. § 101
5. 35 U.S.C. § 101 reads as follows:
Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title.
6. Claims 12-20 are rejected under 35 U.S.C. § 101 because the broadest reasonable interpretation of the terms "computer usable program product,” and “one or more computer-readable devices" covers both statutory and non-statutory embodiments, which are not eligible for patent protection, and therefore the claims are directed to non-statutory subject matter. See In re Nuijten, 500 F.3d 1346, 84 USPQ2d 1495 (Fed. Cir. 2007).
Claim 12 recites “a computer-readable medium.” The plain meaning of CRM encompasses signals.
The specification recites “[t]he system memory 72 and/or the storage device(s) 79 may embody a computer readable medium.” (Specification ¶ 0136). The Specification also recites:
The software code may be stored as a series of instructions or commands on a computer readable medium for storage and/or transmission. A suitable non-transitory computer readable medium can include random access memory (RAM), a read only memory (ROM), a magnetic medium such as a hard-drive or a floppy disk, or an optical medium such as a compact disk (CD) or DVD (digital versatile disk) or Blu-ray disk, flash memory, and the like. The 30 computer readable medium may be any combination of such devices. In addition, the order of operations may be re-arranged. A process can be terminated when its operations are completed, but could have additional steps not included in a figure. A process may correspond to a method, a function, a procedure, a subroutine, a subprogram, etc. When a process corresponds to a function, its termination may correspond to a return of the function to the calling function or the main function
(Specification ¶ 0139). The Specification also recites:
Such programs may also be encoded and transmitted using carrier signals adapted for transmission via wired, optical, and/or wireless networks conforming to a variety of protocols, including the Internet. As such, a computer readable medium may be created using a data signal encoded with such programs. Computer readable media encoded with the program code may be packaged with a compatible device or provided separately from other IO devices ( e.g., via Internet download). Any such computer readable medium may reside on or within a single computer product (e.g. a hard drive, a CD, or an entire computer system), and may be present on or within different computer products within a system or network. A computer system may include a monitor, printer, or other suitable display for providing any of the results mentioned herein to a user.
(Specification ¶ 0140).
The specification does not rebut the presumption that the term be given its plain meaning because the term is not defined to explicitly exclude a encompassing a signal, which encompasses non-statutory subject matter.
Examiner suggests Applicant amend the claims to exclude transitory computer usable program product and transitory computer-readable devices in order to narrow the broadest reasonable interpretation of those claims to embodiments that fall within a statutory category.
Claims 13-20 depend directly or indirectly from claim 12, and are rejected as depending from a rejected claim; further, the claims fail to cure the deficiencies of claim 20.
7. Claims 1-20 are rejected under 35 U.S.C. § 101 because the claimed invention is directed to an abstract idea without significantly more.
Claim 1 recites a method, which is a process, and thus one of the statutory categories of patentable subject matter. (35 U.S.C. § 101).
However, under Step 2A Prong One, the claim recites the limitations of “determining, using the machine learning model, responses to the statistically significant number of access requests,” “measuring a hardware performance of the inference platform for providing the responses,” and “performing an optimization process that varies a configuration value of each setting of a set of settings for the machine learning model to optimize the hardware performance of the machine learning model for a combination of the configuration values for the set of settings, the optimization process iteratively selecting the configuration value for each setting.”
These activities of “determining,” “measuring,” “performing an optimization process,” and “iteratively selecting,” contain limitations that can practically be performed in the human mind, including, for example, observations, evaluations, judgments, and opinions, and accordingly, are a mental process, (MPEP § 2106.04(a)(2) sub III), which is one of the groupings of abstract ideas. (MPEP § 2106.04(a)(2)). Thus, claim 1 recites an abstract idea.
Under Step 2A Prong Two, the claim as a whole is not integrated into a practical application, because the additional elements recited in the claim beyond the identified judicial exception include a “training platform,” and an “inference platform,” which are recited at a high-level of generality, and accordingly, are generic computer components used to implement the abstract idea, (MPEP § 2106.05(f)), that do not serve to integrate the abstract idea into a practical application.
The claim also recites a “machine learning model,” which is recited at a high-level of generality, and accordingly, is a generic computer component used to implement the abstract idea, (MPEP § 2106.05(f)), that does not serve to integrate the abstract idea into a practical application.
The claim also recites “obtaining an onboarding request from a module of a training platform to migrate a machine learning model from the training platform to an inference platform,” “downloading an application package at the inference platform, the application package comprising the machine learning model,” “receiving a statistically significant number of access requests for a plurality of resources,” and “implementing the machine learning model at the inference platform with the identified combination of the set of settings.”
The activities of “obtaining,” “downloading,” “receiving,” and “implementing” are insignificant extra-solution activities of data retrieval and data gathering, (MPEP § 2106.05(g)), that does not serve to integrate the abstract idea into a practical application.
The claim also recites more details or specifics of the additional element of “obtaining an onboarding request,” where “the onboarding request being obtained after a performance of a validation process by the training platform,” “the training platform facilitating training of the machine learning model using one or more training datasets,” and “the inference platform configured to implement the machine learning model for processing live data for determining responses to access requests for resources,” and accordingly, are merely more specific to the additional element. Therefore, the claim is directed to the abstract idea.
Finally, under Step 2B, the additional elements, taken alone or in combination, do not represent significantly more than the abstract idea itself. The additional elements include a “training platform,” and an “inference platform,” which are recited at a high-level of generality, and accordingly, are generic computer components used to implement the abstract idea, (MPEP § 2106.05(f)), that do not amount to significantly more than the abstract idea.
The claim also recites a “machine learning model,” which is recited at a high-level of generality, and accordingly, is a generic computer component used to implement the abstract idea, (MPEP § 2106.05(f)), that does not amount to significantly more than the abstract idea.
The claim also recites “obtaining an onboarding request from a module of a training platform to migrate a machine learning model from the training platform to an inference platform,” “downloading an application package at the inference platform, the application package comprising the machine learning model,” “receiving a statistically significant number of access requests for a plurality of resources,” and “implementing the machine learning model at the inference platform with the identified combination of the set of settings.”
The activities of “obtaining,” “downloading,” “receiving,” and “implementing” are well-understood, routine, and conventional activities of receiving or transmitting data over a network, (MPEP § 2106.05(d) sub II.i), that does not amount to significantly more than the abstract idea.
The claim also recites more details or specifics of the additional element of “obtaining an onboarding request,” where “the onboarding request being obtained after a performance of a validation process by the training platform,” “the training platform facilitating training of the machine learning model using one or more training datasets,” and “the inference platform configured to implement the machine learning model for processing live data for determining responses to access requests for resources,” and accordingly, are merely more specific to the additional element. Therefore, claim 1 is subject-matter ineligible.
Claim 12 recites an inference platform, which comprises a “computer-readable medium,” and accordingly, is directed to non-statutory subject matter, as set out above in detail. For the limited purpose of examination, the claim is considered as being directed to one of the statutory categories of patentable subject matter. (35 U.S.C. § 101).
However, under Step 2A Prong One, the claim recites the limitations of “determine, using the machine learning model, responses to the statistically significant number of access requests,” “measure a hardware performance of the inference platform for providing the responses,” and “perform an optimization process that varies a configuration value of each setting of a set of settings for the machine learning model to optimize the hardware performance of the machine learning model for a combination of the configuration values for the set of settings, the optimization process iteratively selecting the configuration value for each setting.”
These activities of “determine,” “measure,” “perform an optimization process,” and “iteratively selecting,” contain limitations that can practically be performed in the human mind, including, for example, observations, evaluations, judgments, and opinions, and accordingly, are a mental process, (MPEP § 2106.04(a)(2) sub III), which is one of the groupings of abstract ideas. (MPEP § 2106.04(a)(2)). Thus, claim 12 recites an abstract idea.
Under Step 2A Prong Two, the claim as a whole is not integrated into a practical application, because the additional elements recited in the claim beyond the identified judicial exception include a “processor,” a “computer-readable medium,” a “training platform,” and an “inference platform,” which are recited at a high-level of generality, and accordingly, are generic computer components used to implement the abstract idea, (MPEP § 2106.05(f)), that do not serve to integrate the abstract idea into a practical application.
The claim also recites a “machine learning model,” which is recited at a high-level of generality, and accordingly, is a generic computer component used to implement the abstract idea, (MPEP § 2106.05(f)), that does not serve to integrate the abstract idea into a practical application.
The claim also recites “obtain an onboarding request from a module of a training platform to migrate a machine learning model from the training platform to an inference platform,” “download an application package at the inference platform, the application package comprising the machine learning model,” “receive a statistically significant number of access requests for a plurality of resources,” and “implement the machine learning model at the inference platform with the identified combination of the set of settings.”
The activities of “obtain,” “download,” “receive,” and “implement” are insignificant extra-solution activities of data retrieval and data gathering, (MPEP § 2106.05(g)), that does not serve to integrate the abstract idea into a practical application. Therefore, claim 12 is directed to the abstract idea.
Finally, under Step 2B, the additional elements, taken alone or in combination, do not represent significantly more than the abstract idea itself. The additional elements include a “processor,” a “computer-readable medium,” a “training platform,” and an “inference platform,” which are recited at a high-level of generality, and accordingly, are generic computer components used to implement the abstract idea, (MPEP § 2106.05(f)), that do not amount to significantly more than the abstract idea.
The claim also recites a “machine learning model,” which is recited at a high-level of generality, and accordingly, is a generic computer component used to implement the abstract idea, (MPEP § 2106.05(f)), that does not amount to significantly more than the abstract idea.
The claim also recites “obtain an onboarding request from a module of a training platform to migrate a machine learning model from the training platform to an inference platform,” “download an application package at the inference platform, the application package comprising the machine learning model,” “receive a statistically significant number of access requests for a plurality of resources,” and “implement the machine learning model at the inference platform with the identified combination of the set of settings.”
The activities of “obtain,” “download,” “receive,” and “implement” are well-understood, routine, and conventional activities of receiving or transmitting data over a network, (MPEP § 2106.05(d) sub II.i), that does not amount to significantly more than the abstract idea. Therefore, claim 12 is subject-matter ineligible.
Claim 2 depends directly or indirectly from claim 1. The claim recites more details or specifics of the abstract idea of “measuring a hardware performance,” which “estimates a data processing latency or a data processing throughput in the machine learning model determining responses to the statistically significant number of access requests,” and accordingly, is merely more specific to the abstract idea. The additional elements of the claim does not serve to integrate the abstract idea into integrated into a practical application, (see MPEP § 2106.04(d)), nor do the additional elements amount to significantly more than the abstract idea, (MPEP § 2106.05 sub I; see also MPEP § 2106.05(a) – (h)), and thus, the claim recites no more than the abstract idea. Therefore, claim 2 is subject-matter ineligible.
Claim 3 depends directly or indirectly from claim 1. The claim further recites “determining that a network address for the module at the training platform is included on a whitelist for the inference platform, wherein the application package is downloaded at the inference platform responsive to the inference platform determining that the network address is included in the whitelist.” The activity of “determining” contains limitations that can practically be performed in the human mind, including, for example, observations, evaluations, judgments, and opinions, and accordingly, is a mental process, (MPEP § 2106.04(a)(2) sub III), which is one of the groupings of abstract ideas. (MPEP § 2106.04(a)(2)). Thus, claim 1 recites an abstract idea. The additional elements of the claim does not serve to integrate the abstract idea into integrated into a practical application, (see MPEP § 2106.04(d)), nor do the additional elements amount to significantly more than the abstract idea, (MPEP § 2106.05 sub I; see also MPEP § 2106.05(a) – (h)), and thus, the claim recites no more than the abstract idea. Therefore, claim 3 is subject-matter ineligible.
Claim 4 depends directly or indirectly from claim 1. Claim 16 depends directly or indirectly from claim 12. The claims recite more details or specifics to the additional element of “implementing the machine learning model,” further comprises “forwarding the live data comprising a series of access requests to the machine learning model, each access request requesting access to a resource,” and “receiving, from the machine learning model for each access request, responses to the series of access requests, the responses providing an assessment of whether to grant access to the resource or deny access to the resource,” and accordingly, are merely more specific to the additional element. Therefore, claims 4 and 16 are subject-matter ineligible.
Claim 5 depends directly or indirectly from claim 1. Claim 17 depends directly or indirectly from claim 12. The claims further recite “forwarding the responses to the series of access requests to a resource security system to grant or deny access to requested resources based on the responses to each of the series of access requests,” which is the insignificant extra-solution activity of sending data, (MPEP § 2106.05(g)), that does not serve to integrate the abstract idea into a practical application. Also, the activities of “forwarding” is the well-understood, routine, and conventional activity of transmitting data over a network, (MPEP § 2106.05(d) sub II.1), that does not amount to significantly more than the abstract idea. Therefore, claims 5 and 17 are subject-matter ineligible.
Claim 6 depends directly or indirectly from claim 1. The claim recites more details or specifics to the idea of a “validation process,” which includes the limitation of “comparing the responses to the validation dataset with known results for the validation dataset to derive an accuracy value, wherein the machine learning model is validated responsive to the accuracy value exceeding a threshold value.” The activity of “comparing the responses . . . to derive an accuracy value” contains limitations that can practically be performed in the human mind, including, for example, observations, evaluations, judgments, and opinions, and accordingly, are a mental process, (MPEP § 2106.04(a)(2) sub III), which is one of the groupings of abstract ideas. (MPEP § 2106.04(a)(2)). Thus, claim 6 recites an abstract idea.
The claim also recites the limitations of “providing, to the machine learning model at the training platform, a validation dataset for the machine learning model;” and “receiving, by the machine learning model at the training platform, responses to the validation dataset.” The activities of “providing” and “receiving” are insignificant extra-solution activities of sending data, (MPEP § 2106.05(f)), that does not serve to integrate the abstract idea into a practical application. Also, the activities of “providing” and “receiving” are well-understood, routine, and conventional activity of transmitting data over a network, (MPEP §2106.05(d) sub II.1), that does not amount to significantly more than the abstract idea. Therefore, claim 6 is subject-matter ineligible.
Claim 7 depends directly or indirectly from claim 1. Claim 15 depends directly or indirectly from claim 12. The claims recite more details or specifics of the additional element of “downloading,” where “the application package is encrypted using a key common between the training platform and the inference platform, and wherein the inference platform decrypts the application package using the key,” and accordingly, are merely more specific to the additional element. Therefore, claims 7 and 15 are subject-matter ineligible.
Claim 8 depends directly or indirectly from claim 1. Claim 20 depends directly or indirectly from claim 12. The claims recite more details or specifics of the additional element of “training platform,” where “the training platform stores the machine learning model and a uniform resource locator (URL) for the application package at a data repository,” and accordingly, are merely more specific to the additional element. Therefore, claims 8 and 20 are subject-matter ineligible.
Claim 9 depends directly or indirectly from claim 1. Claim 18 depends directly or indirectly from claim 12. The claims recite more details or specifics to the abstract idea of “performing the optimization process,” that further comprises “identify, for each of the set of settings, multiple configuration values,” “test each of the multiple configuration values to derive a result,” and “update the combination of the set of settings to include a configuration value with a greatest result for each setting,” and accordingly, are merely more specific to the abstract idea.
The additional elements of the claim does not serve to integrate the abstract idea into integrated into a practical application, (see MPEP § 2106.04(d)), nor do the additional elements amount to significantly more than the abstract idea, (MPEP § 2106.05 sub I; see also MPEP § 2106.05(a) – (h)), and thus, the claim recites no more than the abstract idea. Therefore, claims 9 and 18 are subject-matter ineligible.
Claim 10 depends directly or indirectly from claim 1. Claim 19 depends directly or indirectly from claim 12. The claims recite more details or specifics to the abstract idea of “performing the optimization process,” that further comprises “randomly selecting a first configuration value,” “deriving a transactions per second (TPS) and latency result for the machine learning model using a combination of the set of settings including the first configuration value,” and “responsive to determining that the TPS and latency result for the first configuration value exceeds a current result for the setting, updating the combination of the set of settings to include the first configuration value and updating the current result to include the TPS and latency result,” and accordingly, are merely more specific to the abstract idea.
Also, the additional elements of the claims do not serve to integrate the abstract idea into integrated into a practical application, (see MPEP § 2106.04(d)), nor do the additional elements amount to significantly more than the abstract idea, (MPEP § 2106.05 sub I; see also MPEP § 2106.05(a) – (h)), and thus, the claim recites no more than the abstract idea. Therefore, claims 10 and 19 are subject-matter ineligible.
Claim 11 depends directly or indirectly from claim 1. The claim recites more details or specifics to the abstract idea of “determining responses,” “wherein the statistically significant number of access requests includes a threshold number of access requests provided to the machine learning model,” and accordingly, is merely more specific to the abstract idea.
Also, the additional elements of the claim does not serve to integrate the abstract idea into integrated into a practical application, (see MPEP § 2106.04(d)), nor do the additional elements amount to significantly more than the abstract idea, (MPEP § 2106.05 sub I; see also MPEP § 2106.05(a) – (h)), and thus, the claim recites no more than the abstract idea. Therefore, claim 11 is subject-matter ineligible.
Claim Rejections – 35 U.S.C. § 103 %%%
8. 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.
9. The factual inquiries for establishing a background for determining obviousness under 35 U.S.C. § 103 are summarized as follows:
1. Determining the scope and contents of the prior art.
2. Ascertaining the differences between the prior art and the claims at issue.
3. Resolving the level of ordinary skill in the pertinent art.
4. Considering objective evidence present in the application indicating obviousness or nonobviousness.
10. This application currently names joint inventors. In considering patentability of the claims the Examiner presumes that the subject matter of the various claims was commonly owned as of the effective filing date of the claimed invention(s) absent any evidence to the contrary. Applicant is advised of the obligation under 37 CFR 1.56 to point out the inventor and effective filing dates of each claim that was not commonly owned as of the effective filing date of the later invention in order for the Examiner to consider the applicability of 35 U.S.C. § 102(b)(2)(C) for any potential 35 U.S.C. § 102(a)(2) prior art against the later invention.
11. Claims 1, 3-9, 11-18, and 20 are rejected under 35 U.S.C. § 103 as being unpatentable over US Published Application 20190050746 to Sanketi et al. [hereinafter Sanketi] in view of Jabal et al., “Polisma – A Framework for Learning Attribute-Based Access Control Policies,” Springer (2020) [hereinafter Jabal].
Regarding claim 1, Sanketi teaches [a] method (Sanketi, abstract, teaches “systems and methods for on-device machine learning,”) comprising:
obtaining an onboarding request from a module of a training platform (Sanketi ¶¶ 0094-96 teaches a “first flow,” which progresses through a “second flow” and a “third flow” [(that is, the “flows” are obtaining an onboarding request from a module of a training platform)]”) to migrate a machine learning model from the training platform to an inference platform (Sanketi, Fig. 3, teaches a training platform and an inference platform [Examiner annotations in dashed-line text boxes]:
PNG
media_image1.png
551
1155
media_image1.png
Greyscale
Sanketi ¶ 0094 teaches that “[i]n a first data flow, shown primarily in dash line at the bottom of FIG. 3, training data is generated on a user device [(that is, inference platform)]. The training data is uploaded to a central authority which then trains or re-trains a machine-learned model based on the uploaded data. The model is then sent to the user device for use (e.g., on-device inference) [(that is, migrate a machine learning model from the training platform to an inference platform)]”),
the onboarding request being obtained after a performance of a validation process by the training platform (Sanketi ¶¶ 0155-58 teaches an “example authorization procedure can include: 1. The on-device platform gets a package name and API key pair when a client registers to the on-device platform. The on-device platform sends the package name and API key pair to a central authority for verification. 2. Once the client is verified, the on-device platform will generate a platform key for the client to use on that device. 3. For future API calls in that device, the client should provide the platform key to the on-device platform [(that is, the onboarding request being obtained after a performance of a validation process by the training platform)]”),
the training platform facilitating training of the machine learning model using one or more training datasets (Sanketi ¶ 0094 teaches “The training data is uploaded to a central authority which then trains or re-trains a machine-learned model based on the uploaded data [(that is, the training platform facilitating training of the machine learning model using one or more training datasets)]”), and
the inference platform configured to implement the machine learning model for processing live data for determining responses to access requests for resources (Sanketi ¶ 0030 teaches “the applications can communicate with the on-device machine learning platform via an API (which may be referred to as the “prediction API”) to provide input data [(that is, the inference platform configured to implement the machine learning model for processing live data)] and obtain predictions based on the input data from one or more of the machine-learned models. As an example, in some implementations, given a uniform resource identifier (URI) for a prediction plan (e.g., instructions for running the model to obtain inferences/predictions) and model parameters, the on-device machine learning platform can download the URI content (e.g., prediction plan and parameters) and obtain one or more inferences/predictions by running the model (e.g., by interacting with a machine learning engine to cause implementation of the model by the engine) [(that is, for determining responses to access requests for resources)]”);
downloading an application package at the inference platform, the application package comprising the machine learning model (Sanketi ¶ 0098 teaches “The central authority can receive many of such updates from multiple devices and can aggregate the updates to generate an updated global model. The updated global model can then be re-sent to the user device [(that is, “sent” or “re-sent” is downloading an application package at the inference platform, the application package comprising the machine learning model)]”);
* * *
implementing the machine learning model at the inference platform with the identified combination of the set of settings (Sanketi ¶ 0027 teaches “At least some of the on-device machine learning functions may be performed using one or more machine learning engines implemented locally on the computing device or terminal [(that is, implementing the machine learning model at the inference platform with the identified combination of the set of set)]”).
Though Sanketi teaches an injection of context by a context provider of an on-device machine learning platform, Sanketi, however, does not explicitly teach –
* * *
receiving a statistically significant number of access requests for a plurality of resources;
determining, using the machine learning model, responses to the statistically significant number of access requests;
measuring a hardware performance of the inference platform for providing the responses;
performing an optimization process that varies a configuration value of each setting of a set of settings for the machine learning model to optimize the hardware performance of the machine learning model for a combination of the configuration values for the set of settings, the optimization process iteratively selecting the configuration value for each setting; and
* * *
But Jabal teaches –
* * *
receiving a statistically significant number of access requests for a plurality of resources (Jabal at p. 525, “1. Introduction,” second paragraph, teaches a machine-learning framework, which is a “policy learner uses mining, statistical, and machine learning techniques (Polisma), that “consists of . . . a data mining technique is used to infer associations between users and resources included in the set of decision examples and based on these associations a set of rules is generated. In the second step, each constructed rule is generalized based on statistically significant attributes and context information [(that is, receiving a statistically significant number of access requests for a plurality of resources)]”);
determining, using the machine learning model, responses to the statistically significant number of access requests (Jabal at p. 525, “1. Introduction,” second paragraph, teaches a machine-learning framework, Polisma, that further consists of, in a third step, “authorization domains for users and resources (e.g., which resources were accessed using which operations by a specific user) are considered in order to augment the set of generalized rules with ‘restriction rules’ for restricting access of users to resources by taking into account their authorization domain. Policies learned by those three stages are safe generalizations with limited overfitting. To improve the completeness of the learned set, Polisma applies a machine learning (ML) classifier on requests not covered by the learned set of policies and uses the result of the classification to label these data and generate additional rules in an ‘ad-hoc’ manner [(that is, “restricting access” and “classification” is determining, using the machine learning model, responses to the statistically significant number of access request)]”);
measuring a hardware performance of the inference platform for providing the responses (Jabal at p. 528, “2.4 Policy Generation Assessment,” first paragraph, teaches “ABAC policies generated by LAPEC are assessed by evaluation of two quality requirements: correctness, which refers to the capability of the policies to assign a correct decision to any access request (see Definition 5), and completeness, which refers to ensuring that all actions, executed in the domain controlled by an access control system, are covered by the policies (see Definition 6)”; Jabal at p. 532, “3.3 Rules Augmentation using Domain-Based Restrictions,” first partial paragraph, teaches “estimating the attribute distribution of users or resources allows one to measure the ability of the attribute of interest for creating even partitions [(that is, “measure the ability” is measuring a hardware performance of the inference platform for providing the response)]”);
performing an optimization process that varies a configuration value of each setting of a set of settings for the machine learning model to optimize the hardware performance of the machine learning model for a combination of the configuration values for the set of settings (Jabal at p. 528, “2.4 Policy Generation Assessment,” second, third, and fourth paragraph, teaches “Definition 5 (Correctness). A set of ABAC policies P is correct with respect to a consistent set of access control decisions D if and only if for every request
u
,
r
,
o
covered by [access control decision example dataset (D)] D,
u
,
r
,
o
,
d
∈
P
→
u
,
r
,
o
,
d
∈ D. Definition 6 (Completeness). A set of ABAC policies Ρ is complete with respect to a consistent set of access control decisions D if and only if, for every request
u
,
r
,
o
,
u
,
r
,
o
covered by D →
u
,
r
,
o
is controlled by P. These definitions allow P to control requests outside D. The aim is twofold. First, when we learn P from an example dataset D, we want P to be correct and complete with respect to D. Second, beyond D, we want to minimize incorrect decisions [(definition 5)] while maximizing completeness [(definition 6)] with respect to [the unknown set F of all access control decisions] [(that is, such “minimizing” and “maximizing” of the policy definitions is performing an optimization process that varies a configuration value of each setting of a set of a set of settings for the machine learning model to optimize the hardware performance of the machine learning model for a combination of the configuration values for the set of settings)].”; Jabal at p. 533, “3.4 Rules Augmentation Using Machine Learning,” first and second paragraph, teaches “[t]he rules generated from the previous steps are generalized using domain knowledge and data statistics extracted from D. . . . A possible prediction approach is to use an ML classifier that builds a model based on the attribute provided by D and context information”), the optimization process iteratively selecting the configuration value for each setting (Jabal at p. 533, “3.4 Rules Augmentation Using Machine Learning,” second paragraph, teaches the “generated model implicitly creates patterns of accesses and their decisions, and will be able to predict the decision for any access request based on its similarity to the ones controlled by the rules generated by the previous steps. Thus, this step creates new rules based on these predictions. Once these new rules are created, Polisma repeats Step 2 [(Brute Force Strategy)] to safely generalize the ML-based augmented rules [(that is, “Polisma repeats” is the optimization process iteratively selecting the configuration value for each setting)]”); and
* * *
Sanketi and Jabal are from the same or similar field of endeavor. Sanketi teaches an on-device machine learning platform can enable centralized training example collection, model training, and usage of machine-learned models as a service to applications or other clients. Jabal teaches a machine learning model trained using an access control decision example dataset (D) to generate ABAC rules.
Thus, it would have been obvious to a person having ordinary skill in the art as of the effective filing date of the Applicant’s invention to modify Sanketi pertaining to an on-device machine learning platform enabling centralized training with the attribute-based access control policies model training of Jabal.
The motivation to do so is because a novel “framework, referred to as Polisma, combines data mining, statistical, and machine learning techniques, capitalizing on potential context information obtained from external sources (e.g., LDAP directories) to enhance the learning process.” (Jabal, Abstract).
Regarding claim 12, Sanketi teaches [a]n inference platform configured to implement a machine learning model for processing live data for determining responses to access requests for resources (Sanketi, Abstract, teaches “systems and methods for on-device machine learning”), the inference platform comprising:
a processor (Sanketi ¶ 0058 teaches “one or more processors 112 [(that is, a processor )]”); and
a computer-readable medium comprising instructions that, when executed by the processor (Sanketi ¶ 0058 teaches “The memory 114 can include one or more non-transitory computer-readable storage mediums . . . . The memory 114 can store data and instructions which are executed by the processor 112 to cause the computing device 102 to perform operations”), cause the processor to:
obtain an onboarding request from a module at a training platform (Sanketi ¶¶ 0094-96 teaches a “first flow,” which progresses through a “second flow” and a “third flow” [(that is, the “flows” are obtaining an onboarding request from a module of a training platform)]”) to migrate the machine learning model from the training platform to the inference platform (Sanketi, Fig. 3, teaches a training platform and an inference platform [Examiner annotations in dashed-line text boxes]:
PNG
media_image1.png
551
1155
media_image1.png
Greyscale
Sanketi ¶ 0094 teaches that “[i]n a first data flow, shown primarily in dash line at the bottom of FIG. 3, training data is generated on a user device [(that is, inference platform)]. The training data is uploaded to a central authority which then trains or re-trains a machine-learned model based on the uploaded data. The model is then sent to the user device for use (e.g., on-device inference) [(that is, migrate a machine learning model from the training platform to an inference platform)]”);
responsive to verifying the training platform, download an application package at the inference platform, the application package comprising the machine learning model (Sanketi ¶ 0098 teaches “The central authority can receive many of such updates from multiple devices and can aggregate the updates to generate an updated global model. The updated global model can then be re-sent to the user device [(that is, “sent” or “re-sent” is downloading an application package at the inference platform, the application package comprising the machine learning model)]”);
* * *
and implementing the machine learning model at the inference platform with the identified combination of the set of settings (Sanketi ¶ 0027 teaches “At least some of the on-device machine learning functions may be performed using one or more machine learning engines implemented locally on the computing device or terminal [(that is, implementing the machine learning model at the inference platform with the identified combination of the set of set)]”).
Though Sanketi teaches an injection of context by a context provider of an on-device machine learning platform, Sanketi, however, does not explicitly teach –
* * *
receive a statistically significant number of access requests for a plurality of resources;
determine, using the machine learning model, responses to the statistically significant number of access requests;
measure a hardware performance of the inference platform for providing the responses;
perform an optimization process that varies a configuration value of each setting of a set of settings for the machine learning model to optimize the hardware performance of the machine learning model for a combination of the configuration values for the set of settings, the optimization process iteratively selecting the configuration value for each setting; and
* * *
But Jabal teaches –
* * *
receive a statistically significant number of access requests for a plurality of resources (Jabal at p. 525, “1. Introduction,” second paragraph, teaches a machine-learning framework, which is a “policy learner uses mining, statistical, and machine learning techniques (Polisma), that “consists of . . . a data mining technique is used to infer associations between users and resources included in the set of decision examples and based on these associations a set of rules is generated. In the second step, each constructed rule is generalized based on statistically significant attributes and context information [(that is, receiving a statistically significant number of access requests for a plurality of resources)]”);
determine, using the machine learning model, responses to the statistically significant number of access requests (Jabal at p. 525, “1. Introduction,” second paragraph, teaches a machine-learning framework, Polisma, that further consists of, in a third step, “authorization domains for users and resources (e.g., which resources were accessed using which operations by a specific user) are considered in order to augment the set of generalized rules with ‘restriction rules’ for restricting access of users to resources by taking into account their authorization domain. Policies learned by those three stages are safe generalizations with limited overfitting. To improve the completeness of the learned set, Polisma applies a machine learning (ML) classifier on requests not covered by the learned set of policies and uses the result of the classification to label these data and generate additional rules in an ‘ad-hoc’ manner [(that is, “restricting access” and “classification” is determining, using the machine learning model, responses to the statistically significant number of access request)]”);
measure a hardware performance of the inference platform for providing the responses (Jabal at p. 528, “2.4 Policy Generation Assessment,” first paragraph, teaches “ABAC policies generated by LAPEC are assessed by evaluation of two quality requirements: correctness, which refers to the capability of the policies to assign a correct decision to any access request (see Definition 5), and completeness, which refers to ensuring that all actions, executed in the domain controlled by an access control system, are covered by the policies (see Definition 6)”; Jabal at p. 532, “3.3 Rules Augmentation using Domain-Based Restrictions,” first partial paragraph, teaches “estimating the attribute distribution of users or resources allows one to measure the ability of the attribute of interest for creating even partitions [(that is, “measure the ability” is measuring a hardware performance of the inference platform for providing the response)]”);
perform an optimization process that varies a configuration value of each setting of a set of settings for the machine learning model to optimize the hardware performance of the machine learning model for a combination of the configuration values for the set of settings (Jabal at p. 528, “2.4 Policy Generation Assessment,” second, third, and fourth paragraph, teaches “Definition 5 (Correctness). A set of ABAC policies P is correct with respect to a consistent set of access control decisions D if and only if for every request
u
,
r
,
o
covered by [access control decision example dataset (D)] D,
u
,
r
,
o
,
d
∈
P
→
u
,
r
,
o
,
d
∈ D. Definition 6 (Completeness). A set of ABAC policies Ρ is complete with respect to a consistent set of access control decisions D if and only if, for every request
u
,
r
,
o
,
u
,
r
,
o
covered by D →
u
,
r
,
o
is controlled by P. These definitions allow P to control requests outside D. The aim is twofold. First, when we learn P from an example dataset D, we want P to be correct and complete with respect to D. Second, beyond D, we want to minimize incorrect decisions [(definition 5)] while maximizing completeness [(definition 6)] with respect to [the unknown set F of all access control decisions]. [(that is, such “minimizing” and “maximizing” of the policy definitions is performing an optimization process that varies a configuration value of each setting of a set of a set of settings for the machine learning model to optimize the hardware performance of the machine learning model for a combination of the configuration values for the set of settings)]”; Jabal at p. 533, “3.4 Rules Augmentation Using Machine Learning,” first and second paragraph, teaches “[t]he rules generated from the previous steps are generalized using domain knowledge and data statistics extracted from D. . . . A possible prediction approach is to use an ML classifier that builds a model based on the attribute provided by D and context information”), the optimization process iteratively selecting the configuration value for each setting (Jabal at p. 533, “3.4 Rules Augmentation Using Machine Learning,” second paragraph, teaches the “generated model implicitly creates patterns of accesses and their decisions, and will be able to predict the decision for any access request based on its similarity to the ones controlled by the rules generated by the previous steps. Thus, this step creates new rules based on these predictions. Once these new rules are created, Polisma repeats Step 2 [(Brute Force Strategy)] to safely generalize the ML-based augmented rules [(that is, “Polisma repeats” is the optimization process iteratively selecting the configuration value for each setting)]”); and
* * *
Sanketi and Jabal are from the same or similar field of endeavor. Sanketi teaches an on-device machine learning platform can enable centralized training example collection, model training, and usage of machine-learned models as a service to applications or other clients. Jabal teaches a machine learning model trained using an access control decision example dataset (D) to generate ABAC rules.
Thus, it would have been obvious to a person having ordinary skill in the art as of the effective filing date of the Applicant’s invention to modify Sanketi pertaining to an on-device machine learning platform enabling centralized training with the attribute-based access control policies model training of Jabal.
The motivation to do so is because a novel “framework, referred to as Polisma, combines data mining, statistical, and machine learning techniques, capitalizing on potential context information obtained from external sources (e.g., LDAP directories) to enhance the learning process.” (Jabal, Abstract).
Regarding claim 3, the combination of Sanketi and Jabal teaches all of the limitations of claim 1, as described above in detail.
Sanketi teaches -
determining that a network address for the module at the training platform (Sanketi ¶ 0063 teaches “in some implementations, given a uniform resource identifier (URI) [(that is, a “URI” is a network address)] for a prediction plan (e.g., instructions for running the model to obtain inferences/predictions) and model parameters, the on-device machine learning platform 122 can download the URI content (e.g., prediction plan and parameters) and obtain one or more inferences/predictions by running the model (e.g., by interacting with a machine learning engine 128 to cause implementation of the model by the engine)”) is included on a whitelist for the inference platform (Sanketi ¶ 0073 teaches “the on-device machine learning platform 122 or other device component can maintain a mapping of which clients have permission to access [(that is, a whitelist)] which context types or context features [(that is, determining that a network address for the module at the training platform is included on a whitelist for the inference platform)]”
[Examiner notes the plain and ordinary meaning of the term “whitelist” is an approved access list; accordingly, the broadest reasonable interpretation of the term “whitelist” covers the teachings of Sanketi directed to a mapping of access permissions of Sanketi, which is not inconsistent with the Applicant’s disclosure. (MPEP § 2111)]),
wherein the application package is downloaded at the inference platform (Sanketi ¶ 0160 teaches that the “on-device platform can tie the training data to the primary account, and update the related model. If the model for the account is not available on the device, the on-device platform can download the model for the client application from cloud or use a base model ( e.g., average model in Federated Learning) [(that is, wherein the application package is downloaded at the inference platform)]”) responsive to the inference platform determining that the network address is included in the whitelist (Sanketi ¶ 0151 teaches “certain clients may not have the same permissions as the on-device platform has. So the platform can control the permissions for clients. In some implementations, this can be done by using a package manager to extract the permissions [(that is, included in the whitelist)] associated with a client application. The platform can maintain a mapping between contexts to permissions. . . . The platform checks whether the client has the permissions to access the requested contexts. Only contexts to which the application has permission will be used to train and inference the corresponding model [(that is, the “on-device platform” inherently includes a network address, and is responsive to the inference platform determining that the network address is included in the whitelist)]”).
Regarding claims 4 and 16, the combination of Sanketi and Jabal teaches all of the limitations of claims 1 and 12, as described above in detail.
Sanketi teaches -
wherein implementing the machine learning model at the inference platform further comprises:
forwarding the live data comprising a series of access requests to the machine learning model, each access request requesting access to a resource (Sanketi ¶ 0030 teaches “applications can communicate with the on-device machine learning platform via an API (which may be referred to as the “prediction API”) to provide input data [(that is, forwarding the live data)] and obtain predictions based on the input data from one or more of the machine-learned models”; Sanketi ¶ 0040 teaches “the on-device machine learning platform or other device component can maintain a mapping of which clients have permission to access which context types . . . For example, the permission status for a particular application and a context type can describe whether such application has permission to access such context type. The context provider will inject only context features that are included in context types that the application has permission to access, thereby preventing an application from accessing (even in a second-hand fashion) context features/types to which it does not have permission to access”; Sanketi ¶ 0154 teaches that “to use the on-device platform API, clients can add an API key to their application. For example, applications can be signed with a digital certificate for which clients hold the private key. The application can obtain the key by registering with a central authority that manages the AP”); and
receiving, from the machine learning model for each access request, responses to the series of access requests, the responses providing an assessment of whether to grant access to the resource or deny access to the resource (Sanketi ¶ 0081 teaches that “for certain functionality (e.g., accessing context), permissions are required. As such, in some implementations, an application 120 a-c that wants to use a particular context in the platform 122, even if it never directly touches the context because the context stays within the platform 122, to have permission to access the particular context. In some implementations, all relevant permissions can be verified in the client and then passed on to the platform call [(that is, receiving . . . responses to the series of access requests)], logically letting the platform 122 operate with this set of permission(s). In some implementations, the platform 122 can request that the user consent to the platform 122 having access to all permissions {(that is, receiving, from the machine learning model for each access request, responses to the series of access requests, the responses providing an assessment of whether to grant access to the resource or deny access to the resource)]”; see also Sanketi ¶ 0151 teaches that “the on-device platform may obtain user permissions to all contexts listed above, but certain clients may not have the same permissions [(that is, deny access to the resource)] as the on-device platform has. So the platform can control the permissions for clients”).
Regarding claims 5 and 17, the combination of Sanketi and Jabal teaches all of the limitations of claims 1 and 12, as described above in detail.
Senketi teaches -
further comprising:
forwarding the responses to the series of access requests to a resource security system to grant or deny access to requested resources based on the responses to each of the series of access requests (Sanketi ¶ 0081 teaches “all relevant permissions can be verified in the client and then passed on to the platform call [(that is, a “call” is forwarding the responses to the series of access requests to a resource security system to grant or deny access to requested resources based on the responses to each of the series of access requests)], logically letting the platform 122 operate with this set of permission(s)”).
Regarding claims 6 and 14, the combination of Sanketi and Jabal teaches all of the limitations of claims 1 and 12, respectively, as described above in detail.
Sanketi teaches -
wherein the performance of the validation process at the training platform comprises:
providing, to the machine learning model at the training platform, a validation dataset for the machine learning model (Sanketi ¶ 0085 teaches “an application developer 202 can interact with a toolkit to generate and test a model 204 [(that is, “test a model” inherently includes a validation dataset)]. The model can be split into or otherwise represented at least in part by an inference plan 206 and a training plan 208 [(that is, providing, to the machine learning model at the training platform, a validation dataset for the machine learning model)]”);
receiving, by the machine learning model at the training platform, responses to the validation dataset (Sanketi ¶ 0092 teaches “the device 216 can further provide logs 218 or other updates regarding the machine-learned models that can be used by the developer 202 (e.g., in conjunction with the toolkit) to obtain detailed analytics of machine learning metrics [(that is, “logs 218” is receiving, by the machine learning model at the training platform, responses to the validation dataset)]”); and
comparing the responses to the validation dataset with known results for the validation dataset to derive an accuracy value (Sanketi ¶ 0092 teaches “the device 216 can further provide logs 218 or other updates regarding the machine-learned models that can be used by the developer 202 (e.g., in conjunction with the toolkit) to obtain detailed analytics of machine learning metrics. Example metrics that can, in some implementations, be computed based on the logs 218 include plots, graphs, or visualizations of checkin request outcomes, traffic (e.g., volume), loss and accuracy model metrics, phase duration, or other metrics [(that is, at least “accuracy model metrics” is comparing the responses to the validation dataset with known results for the validation dataset to derive an accuracy value)]”), wherein the machine learning model is validated responsive to the accuracy value exceeding a threshold value (Sanketi ¶ 0077 teaches that “After retraining of the model 132a-c, the re-trained model 132a- c can be used to provide inferences as described elsewhere herein. Typically, these inferences will have higher accuracy since the model 132a-c has been re-trained on data that is specific to the user [(that is, “higher accuracy” relative to a model is exceeding a threshold, which is the machine learning model is validated responsive to the accuracy value exceeding a threshold)]”).
Regarding claims 7 and 15, the combination of Sanketi and Jabal teaches all of the limitations of claims 1 and 12, as described above in detail.
Sanketi teaches -
wherein the application package is encrypted (Sanketi ¶ 0136 teaches “certain information or data can be treated in or more ways before it is stored or used, so that personally identifiable information is removed or stored in an encrypted fashion [(that is, the application package is encrypted)]”) using a key common between the training platform and the inference platform (Sanketi ¶ 0154 teaches “to use the on-device platform API [(that is, inference platform)], clients can add an API key to their application. For example, applications can be signed with a digital certificate for which clients hold the private key. The application can obtain the key by registering with a central authority that manages the API”), and wherein the inference platform decrypts the application package using the key (Sanketi ¶¶ 0157-59 teaches “2. Once the client is verified, the on-device platform [(that is, inference platform)] will generate a platform key for the client to use on that device. 3. For future API calls in that device, the client should provide the platform key to the on-device platform [(that is, the “API key” inherently is used for decrypts the application package using the key)]”).
Regarding claims 8 and 20, the combination of Sanketi and Jabal teaches all of the limitations of claims 1 and 12, as described above in detail.,
Sanketi teaches -
wherein the training platform stores the machine learning model and a uniform resource locator (URL) for the application package at a data repository (Sanketi ¶ 0030 teaches “applications can communicate with the on-device machine learning platform via an API (which may be referred to as the “prediction API”) to provide input data and obtain predictions based on the input data from one or more of the machine-learned models. As an example, in some implementations, given a uniform resource identifier (URI) for a prediction plan (e.g., instructions for running the model to obtain inferences/predictions) and model parameters, the on-device machine learning platform can download the URI content (e.g., prediction plan and parameters) [(that is, a “URI” is the training platform stores the machine learning model and a uniform resource locator (URL) for the application package at a data repository)] and obtain one or more inferences/predictions by running the model (e.g., by interacting with a machine learning engine to cause implementation of the model by the engine)”).
Regarding claims 9 and 18, the combination of Sanketi and Jabal teaches all of the limitations of claims 1 and 12, as described above in detail.
Jabal teaches -
wherein performing the optimization process further comprises:
identify, for each of the set of settings, multiple configuration values (Jabal at p. 528, “2.4 Policy Generation Assessment,” first paragraph, teaches “ABAC policies generated by [learning ABAC policies by examples and context (LAPEC)] are assessed by evaluation of two quality requirements: correctness, which refers to the capability of the policies to assign a correct decision to any access request (see Definition 5 [(Correctness)]), and completeness, which refers to ensuring that all actions, executed in the domain controlled by an access control system, are covered by the policies (see Definition 6 [(Completeness)]) [(that is, “Correctness” and “Completeness” is identify, for each of the set of settings, multiple configuration values)]”); and
test each of the multiple configuration values to derive a result (Jabal at p. 528, “2.4 Policy Generation Assessment,” second, third, and fourth paragraph, teaches “Definition 5 (Correctness). A set of ABAC policies P is correct with respect to a consistent set of access control decisions D if and only if for every request
u
,
r
,
o
covered by [access control decision example dataset (D)] D,
u
,
r
,
o
,
d
∈
P
→
u
,
r
,
o
,
d
∈ D. Definition 6 (Completeness). A set of ABAC policies Ρ is complete with respect to a consistent set of access control decisions D if and only if, for every request
u
,
r
,
o
,
u
,
r
,
o
covered by D →
u
,
r
,
o
is controlled by P [(that is, “if an only if” of “correctness and completeness” is test each of the multiple configuration values to derive a result)]. These definitions allow P to control requests outside D. The aim is twofold. First, when we learn P from an example dataset D, we want P to be correct and complete with respect to D. Second, beyond D, we want to minimize incorrect decisions [(definition 5)] while maximizing completeness [(definition 6)] with respect to [the unknown set F of all access control decisions]”); and
update the combination of the set of settings to include a configuration value with a greatest result for each setting (Jabal at p. 528, “2.4 Policy Generation Assessment,” second, third, and fourth paragraph, teaches “[t]hese definitions [of correctness and completeness] allow [policies] P to control requests outside [access control decisions] D. The aim is twofold. First, when we learn P from an example dataset D, we want P to be correct and complete with respect to D. Second, beyond D, we want to minimize incorrect decisions [(definition 5)] while maximizing completeness [(definition 6)] with respect to [the unknown set F of all access control decisions] [(that is, such “minimizing” and “maximizing” of “policies P” and “access control decisions D” is update the combination of the set of settings to include a configuration value with a greatest result for each setting)]”).
Regarding claim 11, the combination of Sanketi and Jabal teaches all of the limitations of claim 1 as described above in detail.
Jabal teaches -
wherein the statistically significant number of access requests includes a threshold number of access requests provided to the machine learning model (Jabal at p. 526, “2.1 ABAC Policies, Definition 1” first paragraph, teaches “[a]n ABAC model consists of the following components: . . . A user attribute expression eU defines a function that maps every attribute a ∈ AU, to a value in its range or ⊥, eU(a) ∈ VU(a) ∪ {⊥}. Specifically, eU can be expressed as the set of attribute/value pairs eU =
a
i
,
v
i
|
a
i
∈
A
U
∧
f
a
i
=
v
i
∈
V
U
a
i
. A user ui satisfies eU (i.e., belongs to the set defined by eU) if for every user attribute a not mapped to ⊥,
a
,
d
U
u
i
,
a
∈
e
U
. [(that is, the “range or ⊥” is a threshold number of access requests , in which the statistically significant number of access requests includes a threshold number of access requests provided to the machine learning model)]”;
[Examiner notes that the plain and ordinary meaning of the term “statistically significant” is what which is being unlikely left to chance; accordingly, the broadest reasonable interpretation of the term “statistically significant” exceeds a level of unlikeliness being left to chance, which covers the teachings of Jabal pertaining to the limits provided by the user attribute expression eU. (MPEP § 2111)]).
Regarding claim 13, the combination of Sanketi and Jabal teaches all of the limitations of claim 12, as set out above in detail.
Sanketi teaches –
wherein the processor is further configured to:
validate the machine learning model responsive to determining that a network address for the module at the training platform (Sanketi ¶ 0063 teaches “in some implementations, given a uniform resource identifier (URI) [(that is, a “URI” is a network address)] for a prediction plan (e.g., instructions for running the model to obtain inferences/predictions) and model parameters, the on-device machine learning platform 122 can download the URI content (e.g., prediction plan and parameters) and obtain one or more inferences/predictions by running the model (e.g., by interacting with a machine learning engine 128 to cause implementation of the model by the engine)”) is included on a whitelist for the inference platform (Sanketi ¶ 0073 teaches “the on-device machine learning platform 122 or other device component can maintain a mapping of which clients have permission to access [(that is, a whitelist)] which context types or context features [(that is, determining that a network address for the module at the training platform is included on a whitelist for the inference platform)]”
[Examiner notes the plain and ordinary meaning of the term “whitelist” is an approved access list; accordingly, the broadest reasonable interpretation of the term “whitelist” covers the teachings of Sanketi directed to a mapping of access permissions of Sanketi, which is not inconsistent with the Applicant’s disclosure. (MPEP § 2111)]).
12. Claim 2 is rejected under 35 U.S.C. § 103 as being unpatentable over US Published Application 20190050746 to Sanketi et al. [hereinafter Sanketi] in view of Jabal et al., “Polisma – A Framework for Learning Attribute-Based Access Control Policies,” Springer (2020) [hereinafter Jabal] and US Published Application 20200285891 to Yellin et al. [hereinafter Yellin].
Regarding claim 2, the combination of Sanketi and Jabal teaches all of the limitations of claim 1, as described above in detail.
Though Sanketi and Jabal teaches attribute-based access control policies to train a machine learning classifier directed to resource access, however, the combination of Sanketi and Jabal do not explicitly teach -
wherein the hardware performance of the inference platform for providing the responses estimates a data processing latency or a data processing throughput in the machine learning model determining responses to the statistically significant number of access requests.
But Yellin teaches -
wherein the hardware performance of the inference platform for providing the responses estimates a data processing latency or a data processing throughput in the machine learning model determining responses to the statistically significant number of access requests (Yellin ¶ 0004 teaches an “emerging capability to create ML and other models on a server [(that is, training platform)] and then run the model on a remote device [(that is, inference platform)] . . . . This emerging capability is driven by factors such as the latency of invoking the model on the server, privacy issues, and support for devices disconnected from the Internet [(that is, estimates a data processing latency or a data processing throughput in the machine learning model determining responses to the statistically significant number of access requests)]”; Yellin ¶ 0019 teaches “the device gathers data on the performance of the model deployed on the device, both in terms of the execution characteristics and model accuracy. This performance data is uploaded to the servers, which uses this information to improve the model and the model distribution policies themselves”; regarding “statistically significant number of access requests,” see above, Jabal at p. 525, “1. Introduction,” second paragraph).
Sanketi, Jabal, and Yellin are from the same or similar field of endeavor. Sanketi teaches an on-device machine learning platform that can enable centralized training example collection, model training, and usage of machine-learned models as a service to applications or other clients. Jabal teaches a machine learning model trained using an access control decision example dataset (D) to generate ABAC rules. Yellin teaches improving recognition or prediction accuracy using machine learning models.
Thus, it would have been obvious to a person having ordinary skill in the art as of the effective filing date of the Applicant’s invention to modify the combination of Sanketi and Jabal pertaining to an on-device machine learning platform enabling centralized training including attribute-based access control policies model training with the model performance assessments of Yellin.
The motivation to do so is to build, “by an artificial intelligence system, a number of machine learning models and storing the models on a server, wherein each model is customized to different device and user requirements.” (Yellin ¶ 0005).
13. Claims 10 and 19 are rejected under 35 U.S.C. § 103 as being unpatentable over US Published Application 20190050746 to Sanketi et al. [hereinafter Sanketi] in view of Jabal et al., “Polisma – A Framework for Learning Attribute-Based Access Control Policies,” Springer (2020) [hereinafter Jabal] and Ranathunga et al., “A DLT-based Trust Framework for IoT Ecosystems,” IEEE (2020) [hereinafter Ranathunga].
Regarding claims 10 and 19, the combination of Sanketi and Jabal teaches all of the limitations of claims 1 and 12, as described above in detail.
Though Sanketi and Jabal teaches attribute-based access control policies to train a machine learning classifier directed to resource access, however, the combination of Sanketi and Jabal do not explicitly teach –
randomly selecting a first configuration value;
deriving a transactions per second (TPS) and latency result for the machine learning model using a combination of the set of settings including the first configuration value; and
responsive to determining that the TPS and latency result for the first configuration value exceeds a current result for the setting, updating the combination of the set of settings to include the first configuration value and updating the current result to include the TPS and latency result.
But Ranathunga teaches -
wherein performing the optimization process comprises, for each configuration value of each of the set of settings:
randomly selecting a first configuration value (Ranathunga, left column at p. 7, “A. Experimental Setup, Benchmarking Tool,” first paragraph, teaches a “transaction generated by Caliper creates a marble with a color and owner randomly selected from predefined lists and a randomly generated size”);
deriving a transactions per second (TPS) and latency result for the machine learning model (Ranathunga, right column of p. 6, “A. Experimental Setup, Metrics,” first paragraph, teaches “We consider two metrics to assess the performance of [Hyperledger] FABRIC: i) throughput, i.e., the number of valid transactions appended to the ledger per second (TPS), and ii) latency, i.e., network-wide view of the amount of time taken for a transaction’s effect to be usable across the network [(that is, deriving a transactions per second (TPS) and latency result for the machine learning model)]”) using a combination of the set of settings including the first configuration value; and
responsive to determining that the TPS and latency result for the first configuration value exceeds a current result for the setting (Ranathunga, Table III, teaches configuration maximum TPS and average latency [Examiner annotation in dashed-line text boxes]:
PNG
media_image2.png
354
597
media_image2.png
Greyscale
Ranathunga, right column at p. 7, “B. Experimental Results, xperiment1: SUT1 on different hardware configurations,” first paragraph, teaches “we assess the impact of various parameters and configurations on throughput and transaction latency of FABRIC. Experiment1: [system under test 1 (SUT1)] on different hardware configurations. The purpose of this experiment was to understand the maximum throughput and minimum latency for different hardware configurations [(that is, “maximum throughput and minimum latency” is responsive to determining that the TPS and latency result for the first configuration value exceeds a current result for the setting)]”), updating the combination of the set of settings to include the first configuration value and updating the current result to include the TPS and latency result (Ranathunga, Table II, teaches different hardware configurations [Examiner annotations in dashed-line text boxes]:
PNG
media_image3.png
321
588
media_image3.png
Greyscale
Ranathunga, right column of p. 7, “Systems Under Test (SUTs),” first partial paragraph, teaches “Experiment2 is setup for a comparison of Solo and Raft ordering services using SUT2 and SUT3 where both VMs are configured with config3 as in Table II. The SUTs were deployed in the Google Compute Engine platform [(that is, “config3” and correlated “TPS / Latency” is updating the combination of the set of settings to include the first configuration value and updating the current result to include the TPS and latency result)]”).
Sanketi, Jabal, and Ranathunga are from the same or similar field of endeavor. Sanketi teaches an on-device machine learning platform can enable centralized training example collection, model training, and usage of machine-learned models as a service to applications or other clients. Jabal teaches a machine learning model trained using an access control decision example dataset (D) to generate ABAC rules. Ranathunga teaches configurations in an Attributed Based Access Control (ABAC) model framework implemented in based on TPS and latency results.
Therefore, it would have been obvious to a person having ordinary skill in the art as of the effective filing date of the Applicant’s invention to modify the combination of Sanketi and Jabal pertaining to on-device machine learning platform to generate ABAC rules with the TPS and latency result analysis by the ABAC of Ranathunga.
Thus, it would have been obvious to a person having ordinary skill in the art as of the effective filing date of the Applicant’s invention to modify the combination of Sanketi and Jabal pertaining to an on-device machine learning platform enabling centralized training including attribute-based access control policies model training with the model performance assessments of Yellin.
The motivation to do so is because, as “scalability is one of the main concerns in our framework, ABAC will provide an extensible access control approach for the architectural design.” (Ranathunga, right column of p. 3, “A. Distributed Ledger Technology,” first partial paragraph).
Conclusion
14. The prior art made of record and not relied upon is considered pertinent to Applicant's disclosure:
(Barratt et al., “Optimizing for Generalization in Machine Learning with Cross-Validation Gradients,” arXiv (2018)) teaches a cross-validation risk is differentiable with respect to the hyperparameters and training data for many common machine learning algorithms, including logistic regression, elastic-net regression, and support vector machines. Leveraging this property of differentiability, we propose a cross-validation gradient method (CVGM) for hyperparameter optimization.
(US Published Application 20230018125 to Lim et al.) teaches performing multi-horizon forecasting on time-series data. A method includes determining short-term temporal characteristics for respective forecasting horizons of one or more time-steps. The determining can include generating, using RNN encoders, encoder vectors based on static covariates, and time-varying input data; and predicting using one or more RNN decoders, a short-term pattern for a respective future time period. The method can also include capturing long-term temporal characteristics for the respective forecasting horizons based on the static covariates, the time-varying input data captured during the respective past time-periods, and the time-varying known future input data.”
15. Any inquiry concerning this communication or earlier communications from the Examiner should be directed to KEVIN L. SMITH whose telephone number is (571) 272-5964. Normally, the Examiner is available on Monday-Thursday 0730-1730.
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, KAKALI CHAKI can be reached on 571-272-3719. 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.
/K.L.S./
Examiner, Art Unit 2122
/KAKALI CHAKI/Supervisory Patent Examiner, Art Unit 2122